]> git.proxmox.com Git - mirror_frr.git/blame - pceplib/test/pcep_msg_messages_tests.c
*: auto-convert to SPDX License IDs
[mirror_frr.git] / pceplib / test / pcep_msg_messages_tests.c
CommitLineData
acddc0ed 1// SPDX-License-Identifier: LGPL-2.1-or-later
74971473
JG
2/*
3 * This file is part of the PCEPlib, a PCEP protocol library.
4 *
5 * Copyright (C) 2020 Volta Networks https://voltanet.io/
6 *
74971473
JG
7 * Author : Brady Johnson <brady@voltanet.io>
8 *
9 */
10
11
1f8031f7
DL
12#ifdef HAVE_CONFIG_H
13#include "config.h"
14#endif
15
74971473
JG
16#include <CUnit/Basic.h>
17#include <CUnit/CUnit.h>
18#include <CUnit/TestDB.h>
19
20#include "pcep_msg_messages_test.h"
21#include "pcep_msg_tools_test.h"
22#include "pcep_msg_object_error_types.h"
23#include "pcep_msg_object_error_types_test.h"
24#include "pcep_msg_tlvs_test.h"
25#include "pcep_msg_objects_test.h"
26
27
28int main(int argc, char **argv)
29{
30 /* Unused parameters cause compilation warnings */
31 (void)argc;
32 (void)argv;
33
34 CU_initialize_registry();
35
36 CU_pSuite messages_suite = CU_add_suite_with_setup_and_teardown(
37 "PCEP Messages Test Suite", pcep_messages_test_suite_setup,
38 pcep_messages_test_suite_teardown, /* suite setup and cleanup
39 function pointers */
40 pcep_messages_test_setup, pcep_messages_test_teardown);
41 CU_add_test(messages_suite, "test_pcep_msg_create_open",
42 test_pcep_msg_create_open);
43 CU_add_test(messages_suite, "test_pcep_msg_create_request",
44 test_pcep_msg_create_request);
45 CU_add_test(messages_suite, "test_pcep_msg_create_request_svec",
46 test_pcep_msg_create_request_svec);
47 CU_add_test(messages_suite, "test_pcep_msg_create_reply_nopath",
48 test_pcep_msg_create_reply_nopath);
49 CU_add_test(messages_suite, "test_pcep_msg_create_reply",
50 test_pcep_msg_create_reply);
51 CU_add_test(messages_suite, "test_pcep_msg_create_close",
52 test_pcep_msg_create_close);
53 CU_add_test(messages_suite, "test_pcep_msg_create_error",
54 test_pcep_msg_create_error);
55 CU_add_test(messages_suite, "test_pcep_msg_create_keepalive",
56 test_pcep_msg_create_keepalive);
57 CU_add_test(messages_suite, "test_pcep_msg_create_report",
58 test_pcep_msg_create_report);
59 CU_add_test(messages_suite, "test_pcep_msg_create_update",
60 test_pcep_msg_create_update);
61 CU_add_test(messages_suite, "test_pcep_msg_create_initiate",
62 test_pcep_msg_create_initiate);
63 CU_add_test(messages_suite, "test_pcep_msg_create_notify",
64 test_pcep_msg_create_notify);
65
66 CU_pSuite tlvs_suite = CU_add_suite_with_setup_and_teardown(
67 "PCEP TLVs Test Suite", pcep_tlvs_test_suite_setup,
68 pcep_tlvs_test_suite_teardown, /* suite setup and cleanup
69 function pointers */
70 pcep_tlvs_test_setup, pcep_tlvs_test_teardown);
71 CU_add_test(tlvs_suite, "test_pcep_tlv_create_stateful_pce_capability",
72 test_pcep_tlv_create_stateful_pce_capability);
73 CU_add_test(tlvs_suite, "test_pcep_tlv_create_speaker_entity_id",
74 test_pcep_tlv_create_speaker_entity_id);
75 CU_add_test(tlvs_suite, "test_pcep_tlv_create_lsp_db_version",
76 test_pcep_tlv_create_lsp_db_version);
77 CU_add_test(tlvs_suite, "test_pcep_tlv_create_path_setup_type",
78 test_pcep_tlv_create_path_setup_type);
79 CU_add_test(tlvs_suite,
80 "test_pcep_tlv_create_path_setup_type_capability",
81 test_pcep_tlv_create_path_setup_type_capability);
82 CU_add_test(tlvs_suite, "test_pcep_tlv_create_sr_pce_capability",
83 test_pcep_tlv_create_sr_pce_capability);
84 CU_add_test(tlvs_suite, "test_pcep_tlv_create_symbolic_path_name",
85 test_pcep_tlv_create_symbolic_path_name);
86 CU_add_test(tlvs_suite, "test_pcep_tlv_create_ipv4_lsp_identifiers",
87 test_pcep_tlv_create_ipv4_lsp_identifiers);
88 CU_add_test(tlvs_suite, "test_pcep_tlv_create_ipv6_lsp_identifiers",
89 test_pcep_tlv_create_ipv6_lsp_identifiers);
90 CU_add_test(tlvs_suite, "test_pcep_tlv_create_srpag_pol_id_ipv4",
91 test_pcep_tlv_create_srpag_pol_id_ipv4);
92 CU_add_test(tlvs_suite, "test_pcep_tlv_create_srpag_pol_id_ipv6",
93 test_pcep_tlv_create_srpag_pol_id_ipv6);
94 CU_add_test(tlvs_suite, "test_pcep_tlv_create_srpag_pol_name",
95 test_pcep_tlv_create_srpag_pol_name);
96 CU_add_test(tlvs_suite, "test_pcep_tlv_create_srpag_cp_id",
97 test_pcep_tlv_create_srpag_cp_id);
98 CU_add_test(tlvs_suite, "test_pcep_tlv_create_srpag_cp_pref",
99 test_pcep_tlv_create_srpag_cp_pref);
100 CU_add_test(tlvs_suite, "test_pcep_tlv_create_lsp_error_code",
101 test_pcep_tlv_create_lsp_error_code);
102 CU_add_test(tlvs_suite, "test_pcep_tlv_create_rsvp_ipv4_error_spec",
103 test_pcep_tlv_create_rsvp_ipv4_error_spec);
104 CU_add_test(tlvs_suite, "test_pcep_tlv_create_rsvp_ipv6_error_spec",
105 test_pcep_tlv_create_rsvp_ipv6_error_spec);
106 CU_add_test(tlvs_suite, "test_pcep_tlv_create_nopath_vector",
107 test_pcep_tlv_create_nopath_vector);
108 CU_add_test(tlvs_suite, "test_pcep_tlv_create_arbitrary",
109 test_pcep_tlv_create_arbitrary);
110
111 CU_pSuite objects_suite = CU_add_suite_with_setup_and_teardown(
112 "PCEP Objects Test Suite", pcep_objects_test_suite_setup,
113 pcep_objects_test_suite_teardown, /* suite setup and cleanup
114 function pointers */
115 pcep_objects_test_setup, pcep_objects_test_teardown);
116 CU_add_test(objects_suite, "test_pcep_obj_create_open",
117 test_pcep_obj_create_open);
118 CU_add_test(objects_suite, "test_pcep_obj_create_open",
119 test_pcep_obj_create_open_with_tlvs);
120 CU_add_test(objects_suite, "test_pcep_obj_create_rp",
121 test_pcep_obj_create_rp);
122 CU_add_test(objects_suite, "test_pcep_obj_create_nopath",
123 test_pcep_obj_create_nopath);
124 CU_add_test(objects_suite, "test_pcep_obj_create_enpoint_ipv4",
125 test_pcep_obj_create_endpoint_ipv4);
126 CU_add_test(objects_suite, "test_pcep_obj_create_enpoint_ipv6",
127 test_pcep_obj_create_endpoint_ipv6);
128 CU_add_test(objects_suite, "test_pcep_obj_create_association_ipv4",
129 test_pcep_obj_create_association_ipv4);
130 CU_add_test(objects_suite, "test_pcep_obj_create_association_ipv6",
131 test_pcep_obj_create_association_ipv6);
132 CU_add_test(objects_suite, "test_pcep_obj_create_bandwidth",
133 test_pcep_obj_create_bandwidth);
134 CU_add_test(objects_suite, "test_pcep_obj_create_metric",
135 test_pcep_obj_create_metric);
136 CU_add_test(objects_suite, "test_pcep_obj_create_lspa",
137 test_pcep_obj_create_lspa);
138 CU_add_test(objects_suite, "test_pcep_obj_create_svec",
139 test_pcep_obj_create_svec);
140 CU_add_test(objects_suite, "test_pcep_obj_create_error",
141 test_pcep_obj_create_error);
142 CU_add_test(objects_suite, "test_pcep_obj_create_close",
143 test_pcep_obj_create_close);
144 CU_add_test(objects_suite, "test_pcep_obj_create_srp",
145 test_pcep_obj_create_srp);
146 CU_add_test(objects_suite, "test_pcep_obj_create_lsp",
147 test_pcep_obj_create_lsp);
148 CU_add_test(objects_suite, "test_pcep_obj_create_vendor_info",
149 test_pcep_obj_create_vendor_info);
150
151 CU_add_test(objects_suite, "test_pcep_obj_create_ero",
152 test_pcep_obj_create_ero);
153 CU_add_test(objects_suite, "test_pcep_obj_create_rro",
154 test_pcep_obj_create_rro);
155 CU_add_test(objects_suite, "test_pcep_obj_create_iro",
156 test_pcep_obj_create_iro);
157 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_ipv4",
158 test_pcep_obj_create_ro_subobj_ipv4);
159 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_ipv6",
160 test_pcep_obj_create_ro_subobj_ipv6);
161 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_unnum",
162 test_pcep_obj_create_ro_subobj_unnum);
163 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_32label",
164 test_pcep_obj_create_ro_subobj_32label);
165 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_asn",
166 test_pcep_obj_create_ro_subobj_asn);
167
168 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_sr_nonai",
169 test_pcep_obj_create_ro_subobj_sr_nonai);
170 CU_add_test(objects_suite,
171 "test_pcep_obj_create_ro_subobj_sr_ipv4_node",
172 test_pcep_obj_create_ro_subobj_sr_ipv4_node);
173 CU_add_test(objects_suite,
174 "test_pcep_obj_create_ro_subobj_sr_ipv6_node",
175 test_pcep_obj_create_ro_subobj_sr_ipv6_node);
176 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_sr_ipv4_adj",
177 test_pcep_obj_create_ro_subobj_sr_ipv4_adj);
178 CU_add_test(objects_suite, "test_pcep_obj_create_ro_subobj_sr_ipv6_adj",
179 test_pcep_obj_create_ro_subobj_sr_ipv6_adj);
180 CU_add_test(objects_suite,
181 "test_pcep_obj_create_ro_subobj_sr_unnumbered_ipv4_adj",
182 test_pcep_obj_create_ro_subobj_sr_unnumbered_ipv4_adj);
183 CU_add_test(objects_suite,
184 "test_pcep_obj_create_ro_subobj_sr_linklocal_ipv6_adj",
185 test_pcep_obj_create_ro_subobj_sr_linklocal_ipv6_adj);
186
187 CU_pSuite tools_suite = CU_add_suite_with_setup_and_teardown(
188 "PCEP Tools Test Suite", pcep_tools_test_suite_setup,
189 pcep_tools_test_suite_teardown, pcep_tools_test_setup,
190 pcep_tools_test_teardown);
191 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_initiate",
192 test_pcep_msg_read_pcep_initiate);
193 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_initiate2",
194 test_pcep_msg_read_pcep_initiate2);
195 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_update",
196 test_pcep_msg_read_pcep_update);
197 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_open",
198 test_pcep_msg_read_pcep_open);
199 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_open_initiate",
200 test_pcep_msg_read_pcep_open_initiate);
201 CU_add_test(tools_suite, "test_validate_message_header",
202 test_validate_message_header);
203 CU_add_test(tools_suite, "test_validate_message_objects",
204 test_validate_message_objects);
205 CU_add_test(tools_suite, "test_validate_message_objects_invalid",
206 test_validate_message_objects_invalid);
207 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_open_cisco_pce",
208 test_pcep_msg_read_pcep_open_cisco_pce);
209 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_update_cisco_pce",
210 test_pcep_msg_read_pcep_update_cisco_pce);
211 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_report_cisco_pcc",
212 test_pcep_msg_read_pcep_report_cisco_pcc);
213 CU_add_test(tools_suite, "test_pcep_msg_read_pcep_initiate_cisco_pcc",
214 test_pcep_msg_read_pcep_initiate_cisco_pcc);
215
216 CU_pSuite obj_errors_suite = CU_add_suite_with_setup_and_teardown(
217 "PCEP Object Error Types Test Suite",
218 pcep_object_error_types_test_suite_setup,
219 pcep_object_error_types_test_suite_teardown,
220 pcep_object_error_types_test_setup,
221 pcep_object_error_types_test_teardown);
222 CU_add_test(obj_errors_suite, "test_get_error_type_str",
223 test_get_error_type_str);
224 CU_add_test(obj_errors_suite, "test_get_error_value_str",
225 test_get_error_value_str);
226
227 CU_basic_set_mode(CU_BRM_VERBOSE);
228 CU_basic_run_tests();
229 CU_FailureRecord *failure_record = CU_get_failure_list();
230 if (failure_record != NULL) {
231 printf("\nFailed tests:\n\t [Suite] [Test] [File:line-number]\n");
232 do {
233 printf("\t [%s] [%s] [%s:%d]\n",
234 failure_record->pSuite->pName,
235 failure_record->pTest->pName,
236 failure_record->strFileName,
237 failure_record->uiLineNumber);
238 failure_record = failure_record->pNext;
239
240 } while (failure_record != NULL);
241 }
242
243 CU_pRunSummary run_summary = CU_get_run_summary();
244 int result = run_summary->nTestsFailed;
245 CU_cleanup_registry();
246
247 return result;
248}