]>
Commit | Line | Data |
---|---|---|
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 | ||
28 | int 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 | } |