1 // SPDX-License-Identifier: LGPL-2.1-or-later
3 * This file is part of the PCEPlib, a PCEP protocol library.
5 * Copyright (C) 2020 Volta Networks https://voltanet.io/
7 * Author : Brady Johnson <brady@voltanet.io>
16 #include <CUnit/Basic.h>
17 #include <CUnit/CUnit.h>
18 #include <CUnit/TestDB.h>
20 #include "pcep_session_logic_loop_test.h"
21 #include "pcep_session_logic_states_test.h"
22 #include "pcep_session_logic_test.h"
25 int main(int argc
, char **argv
)
27 /* Unused parameters cause compilation warnings */
31 CU_initialize_registry();
34 * Tests defined in pcep_socket_comm_test.c
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
42 pcep_session_logic_test_suite_teardown
,
43 pcep_session_logic_test_setup
, // test case setup
45 pcep_session_logic_test_teardown
); // test case teardown
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
);
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
77 pcep_session_logic_loop_test_suite_teardown
,
78 pcep_session_logic_loop_test_setup
, // test case setup
80 pcep_session_logic_loop_test_teardown
); // test case
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
);
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
109 pcep_session_logic_states_test_suite_teardown
,
110 pcep_session_logic_states_test_setup
, // test case setup
113 pcep_session_logic_states_test_teardown
); // test case
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
);
170 * Run the tests and cleanup.
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");
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
;
185 } while (failure_record
!= NULL
);
188 CU_pRunSummary run_summary
= CU_get_run_summary();
189 int result
= run_summary
->nTestsFailed
;
190 CU_cleanup_registry();