]> git.proxmox.com Git - mirror_frr.git/blame - pceplib/test/pcep_session_logic_tests.c
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / pceplib / test / pcep_session_logic_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_session_logic_loop_test.h"
21#include "pcep_session_logic_states_test.h"
22#include "pcep_session_logic_test.h"
23
24
25int main(int argc, char **argv)
26{
27 /* Unused parameters cause compilation warnings */
28 (void)argc;
29 (void)argv;
30
31 CU_initialize_registry();
32
33 /*
34 * Tests defined in pcep_socket_comm_test.c
35 */
36 CU_pSuite test_session_logic_suite =
37 CU_add_suite_with_setup_and_teardown(
38 "PCEP Session Logic Test Suite",
39 pcep_session_logic_test_suite_setup, // suite setup and
40 // cleanup function
41 // pointers
42 pcep_session_logic_test_suite_teardown,
43 pcep_session_logic_test_setup, // test case setup
44 // function pointer
45 pcep_session_logic_test_teardown); // test case teardown
46 // function pointer
47
48 CU_add_test(test_session_logic_suite, "test_run_stop_session_logic",
49 test_run_stop_session_logic);
50 CU_add_test(test_session_logic_suite, "test_run_session_logic_twice",
51 test_run_session_logic_twice);
52 CU_add_test(test_session_logic_suite, "test_session_logic_without_run",
53 test_session_logic_without_run);
54 CU_add_test(test_session_logic_suite,
55 "test_create_pcep_session_null_params",
56 test_create_pcep_session_null_params);
57 CU_add_test(test_session_logic_suite,
58 "test_create_destroy_pcep_session",
59 test_create_destroy_pcep_session);
60 CU_add_test(test_session_logic_suite,
61 "test_create_destroy_pcep_session_ipv6",
62 test_create_destroy_pcep_session_ipv6);
63 CU_add_test(test_session_logic_suite,
64 "test_create_pcep_session_open_tlvs",
65 test_create_pcep_session_open_tlvs);
66 CU_add_test(test_session_logic_suite,
67 "test_destroy_pcep_session_null_session",
68 test_destroy_pcep_session_null_session);
69
70 CU_pSuite test_session_logic_loop_suite =
71 CU_add_suite_with_setup_and_teardown(
72 "PCEP Session Logic Loop Test Suite",
73 pcep_session_logic_loop_test_suite_setup, // suite setup
74 // and cleanup
75 // function
76 // pointers
77 pcep_session_logic_loop_test_suite_teardown,
78 pcep_session_logic_loop_test_setup, // test case setup
79 // function pointer
80 pcep_session_logic_loop_test_teardown); // test case
81 // teardown
82 // function
83 // pointer
84
85 CU_add_test(test_session_logic_loop_suite,
86 "test_session_logic_loop_null_data",
87 test_session_logic_loop_null_data);
88 CU_add_test(test_session_logic_loop_suite,
89 "test_session_logic_loop_inactive",
90 test_session_logic_loop_inactive);
91 CU_add_test(test_session_logic_loop_suite,
92 "test_session_logic_msg_ready_handler",
93 test_session_logic_msg_ready_handler);
94 CU_add_test(test_session_logic_loop_suite,
95 "test_session_logic_conn_except_notifier",
96 test_session_logic_conn_except_notifier);
97 CU_add_test(test_session_logic_loop_suite,
98 "test_session_logic_timer_expire_handler",
99 test_session_logic_timer_expire_handler);
100
101 CU_pSuite test_session_logic_states_suite =
102 CU_add_suite_with_setup_and_teardown(
103 "PCEP Session Logic States Test Suite",
104 pcep_session_logic_states_test_suite_setup, // suite
105 // setup and
106 // cleanup
107 // function
108 // pointers
109 pcep_session_logic_states_test_suite_teardown,
110 pcep_session_logic_states_test_setup, // test case setup
111 // function
112 // pointer
113 pcep_session_logic_states_test_teardown); // test case
114 // teardown
115 // function
116 // pointer
117
118 CU_add_test(test_session_logic_states_suite,
119 "test_handle_timer_event_dead_timer",
120 test_handle_timer_event_dead_timer);
121 CU_add_test(test_session_logic_states_suite,
122 "test_handle_timer_event_keep_alive",
123 test_handle_timer_event_keep_alive);
124 CU_add_test(test_session_logic_states_suite,
125 "test_handle_timer_event_open_keep_wait",
126 test_handle_timer_event_open_keep_wait);
127 CU_add_test(test_session_logic_states_suite,
128 "test_handle_socket_comm_event_null_params",
129 test_handle_socket_comm_event_null_params);
130 CU_add_test(test_session_logic_states_suite,
131 "test_handle_socket_comm_event_close",
132 test_handle_socket_comm_event_close);
133 CU_add_test(test_session_logic_states_suite,
134 "test_handle_socket_comm_event_open",
135 test_handle_socket_comm_event_open);
136 CU_add_test(test_session_logic_states_suite,
137 "test_handle_socket_comm_event_open_error",
138 test_handle_socket_comm_event_open_error);
139 CU_add_test(test_session_logic_states_suite,
140 "test_handle_socket_comm_event_keep_alive",
141 test_handle_socket_comm_event_keep_alive);
142 CU_add_test(test_session_logic_states_suite,
143 "test_handle_socket_comm_event_pcrep",
144 test_handle_socket_comm_event_pcrep);
145 CU_add_test(test_session_logic_states_suite,
146 "test_handle_socket_comm_event_pcreq",
147 test_handle_socket_comm_event_pcreq);
148 CU_add_test(test_session_logic_states_suite,
149 "test_handle_socket_comm_event_report",
150 test_handle_socket_comm_event_report);
151 CU_add_test(test_session_logic_states_suite,
152 "test_handle_socket_comm_event_update",
153 test_handle_socket_comm_event_update);
154 CU_add_test(test_session_logic_states_suite,
155 "test_handle_socket_comm_event_initiate",
156 test_handle_socket_comm_event_initiate);
157 CU_add_test(test_session_logic_states_suite,
158 "test_handle_socket_comm_event_notify",
159 test_handle_socket_comm_event_notify);
160 CU_add_test(test_session_logic_states_suite,
161 "test_handle_socket_comm_event_error",
162 test_handle_socket_comm_event_error);
163 CU_add_test(test_session_logic_states_suite,
164 "test_handle_socket_comm_event_unknown_msg",
165 test_handle_socket_comm_event_unknown_msg);
166 CU_add_test(test_session_logic_states_suite, "test_connection_failure",
167 test_connection_failure);
168
169 /*
170 * Run the tests and cleanup.
171 */
172 CU_basic_set_mode(CU_BRM_VERBOSE);
173 CU_basic_run_tests();
174 CU_FailureRecord *failure_record = CU_get_failure_list();
175 if (failure_record != NULL) {
176 printf("\nFailed tests:\n\t [Suite] [Test] [File:line-number]\n");
177 do {
178 printf("\t [%s] [%s] [%s:%d]\n",
179 failure_record->pSuite->pName,
180 failure_record->pTest->pName,
181 failure_record->strFileName,
182 failure_record->uiLineNumber);
183 failure_record = failure_record->pNext;
184
185 } while (failure_record != NULL);
186 }
187
188 CU_pRunSummary run_summary = CU_get_run_summary();
189 int result = run_summary->nTestsFailed;
190 CU_cleanup_registry();
191
192 return result;
193}