]>
Commit | Line | Data |
---|---|---|
fd9cabd4 JH |
1 | /** |
2 | * @file tests.c | |
3 | * | |
4 | * @brief Main for all tests | |
5 | * | |
6 | */ | |
7 | ||
8 | /* | |
9 | * Copyright (C) 2005 Jan Hutter, Martin Willi | |
10 | * Hochschule fuer Technik Rapperswil | |
11 | * | |
12 | * This program is free software; you can redistribute it and/or modify it | |
13 | * under the terms of the GNU General Public License as published by the | |
14 | * Free Software Foundation; either version 2 of the License, or (at your | |
15 | * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. | |
16 | * | |
17 | * This program is distributed in the hope that it will be useful, but | |
18 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
19 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
20 | * for more details. | |
21 | */ | |
22 | ||
23 | ||
24 | #include <stdio.h> | |
7d995669 | 25 | |
b85d20d1 MW |
26 | #include "../queues/job_queue.h" |
27 | #include "../queues/event_queue.h" | |
28 | #include "../queues/send_queue.h" | |
29 | #include "../socket.h" | |
88878242 MW |
30 | #include "../utils/logger_manager.h" |
31 | #include "../utils/allocator.h" | |
32 | #include "../utils/tester.h" | |
b85d20d1 MW |
33 | #include "linked_list_test.h" |
34 | #include "thread_pool_test.h" | |
35 | #include "job_queue_test.h" | |
36 | #include "event_queue_test.h" | |
37 | #include "send_queue_test.h" | |
38 | #include "socket_test.h" | |
39 | #include "sender_test.h" | |
40 | #include "scheduler_test.h" | |
41 | #include "receiver_test.h" | |
42 | #include "ike_sa_id_test.h" | |
43 | #include "ike_sa_test.h" | |
44 | #include "ike_sa_manager_test.h" | |
45 | #include "generator_test.h" | |
6c55be34 | 46 | #include "parser_test.h" |
b85d20d1 | 47 | #include "packet_test.h" |
fd9cabd4 JH |
48 | |
49 | ||
50 | /* output for test messages */ | |
51 | extern FILE * stderr; | |
52 | ||
fd9cabd4 JH |
53 | /** |
54 | * Test for linked_list_t | |
55 | */ | |
56 | test_t linked_list_test = {test_linked_list,"Linked List"}; | |
57 | ||
58 | /** | |
59 | * Test for linked_list_t with iterator | |
60 | */ | |
61 | test_t linked_list_iterator_test = {test_linked_list_iterator,"Linked List Iterator"}; | |
62 | ||
63 | /** | |
64 | * Test for linked_list_t insert and remove | |
65 | */ | |
66 | test_t linked_list_insert_and_remove_test = {test_linked_list_insert_and_remove,"Linked List Insert and remove"}; | |
67 | ||
68 | /** | |
69 | * Test for event_queue_t | |
70 | */ | |
6962f6c9 | 71 | test_t event_queue_test = {test_event_queue,"Event-Queue"}; |
fd9cabd4 JH |
72 | |
73 | /** | |
74 | * Test 1 for job_queue_t | |
75 | */ | |
6962f6c9 | 76 | test_t job_queue_test1 = {test_job_queue,"Job-Queue"}; |
fd9cabd4 JH |
77 | |
78 | /** | |
79 | * Test 1 for linked_list_t | |
80 | */ | |
6962f6c9 | 81 | test_t send_queue_test = {test_send_queue,"Send-Queue"}; |
fd9cabd4 JH |
82 | |
83 | /** | |
84 | * Test for socket_t | |
85 | */ | |
86 | test_t socket_test = {test_socket,"Socket"}; | |
87 | ||
88 | /** | |
89 | * Test for thread_pool_t | |
90 | */ | |
91 | test_t thread_pool_test = {test_thread_pool,"Thread Pool"}; | |
92 | ||
6962f6c9 JH |
93 | /** |
94 | * Test for sender_t | |
95 | */ | |
96 | test_t sender_test = {test_sender,"Sender"}; | |
97 | ||
6d4f09bc MW |
98 | /** |
99 | * Test for scheduler_t | |
100 | */ | |
101 | test_t scheduler_test = {test_scheduler,"Scheduler"}; | |
c9473633 | 102 | |
50fffcc4 JH |
103 | /** |
104 | * Test for receiver_t | |
105 | */ | |
106 | test_t receiver_test = {test_receiver,"Receiver"}; | |
da6f7756 | 107 | |
c9473633 JH |
108 | /** |
109 | * Test for ike_sa_id_t | |
110 | */ | |
111 | test_t ike_sa_id_test = {test_ike_sa_id,"IKE_SA-Identifier"}; | |
6d4f09bc | 112 | |
4acf505a JH |
113 | /** |
114 | * Test for ike_sa_t | |
115 | */ | |
116 | test_t ike_sa_test = {test_ike_sa,"IKE_SA"}; | |
117 | ||
2426b58d | 118 | |
d4425c1b MW |
119 | /** |
120 | * Test for ike_sa_manager_t | |
121 | */ | |
122 | test_t ike_sa_manager_test = {test_ike_sa_manager, "IKE_SA-Manager"}; | |
123 | ||
f3c01a28 | 124 | test_t generator_test1 = {test_generator_with_header_payload,"Generator: header payload"}; |
f3c01a28 | 125 | test_t generator_test2 = {test_generator_with_transform_attribute,"Generator: transform attribute"}; |
f3c01a28 | 126 | test_t generator_test3 = {test_generator_with_transform_substructure,"Generator: transform substructure"}; |
2b9dd467 | 127 | test_t generator_test4 = {test_generator_with_proposal_substructure,"Generator: proposal substructure"}; |
7f613a4b | 128 | test_t generator_test5 = {test_generator_with_sa_payload,"Generator: Message with SA Payload"}; |
113f461e | 129 | test_t generator_test6 = {test_generator_with_ke_payload,"Generator: KE Payload"}; |
7f613a4b | 130 | |
2426b58d | 131 | |
283ac6ef | 132 | /** |
260f3338 | 133 | * Parser test for ike header |
283ac6ef | 134 | */ |
260f3338 | 135 | test_t parser_test1 = {test_parser_with_header_payload, "Parser: header payload"}; |
6c55be34 MW |
136 | |
137 | ||
138 | /** | |
139 | * Parser test for ike security association | |
140 | */ | |
260f3338 MW |
141 | test_t parser_test2 = {test_parser_with_sa_payload, "Parser: sa payload"}; |
142 | ||
143 | /** | |
144 | * Parser test for ike nonce payload | |
145 | */ | |
146 | test_t parser_test3 = {test_parser_with_nonce_payload, "Parser: nonce payload"}; | |
283ac6ef | 147 | |
22a5e2b8 MW |
148 | /** |
149 | * Parser test for ike nonce payload | |
150 | */ | |
151 | test_t parser_test4 = {test_parser_with_ke_payload, "Parser: key exchange payload"}; | |
152 | ||
283ac6ef | 153 | |
110dc83a JH |
154 | /** |
155 | * Test for packet_t | |
156 | */ | |
157 | test_t packet_test = {test_packet,"Packet"}; | |
158 | ||
159 | ||
da6f7756 JH |
160 | /** |
161 | * Global job-queue | |
162 | */ | |
163 | job_queue_t *global_job_queue; | |
164 | ||
165 | /** | |
166 | * Global event-queue | |
167 | */ | |
168 | event_queue_t *global_event_queue; | |
fd9cabd4 | 169 | |
da6f7756 JH |
170 | /** |
171 | * Global send-queue | |
172 | */ | |
173 | send_queue_t *global_send_queue; | |
174 | ||
175 | /** | |
176 | * Global socket | |
177 | */ | |
178 | socket_t *global_socket; | |
7d995669 JH |
179 | |
180 | ||
181 | /** | |
182 | * Global logger | |
183 | */ | |
ffd555f5 | 184 | logger_manager_t *global_logger_manager; |
da6f7756 | 185 | |
fd9cabd4 JH |
186 | int main() |
187 | { | |
188 | FILE * test_output = stderr; | |
189 | ||
190 | test_t *all_tests[] ={ | |
71888239 | 191 | &linked_list_test, |
fd9cabd4 JH |
192 | &linked_list_iterator_test, |
193 | &linked_list_insert_and_remove_test, | |
194 | &thread_pool_test, | |
195 | &job_queue_test1, | |
71888239 | 196 | &event_queue_test, |
fd9cabd4 | 197 | &send_queue_test, |
6c4b815f | 198 | &scheduler_test, |
71888239 | 199 | &socket_test, |
6962f6c9 | 200 | &sender_test, |
50fffcc4 | 201 | &receiver_test, |
c9473633 | 202 | &ike_sa_id_test, |
4acf505a | 203 | &ike_sa_test, |
f3c01a28 | 204 | &generator_test1, |
762ce218 | 205 | &generator_test2, |
260f3338 MW |
206 | &parser_test1, |
207 | &parser_test2, | |
208 | &parser_test3, | |
f3c01a28 | 209 | &generator_test3, |
2b9dd467 | 210 | &generator_test4, |
7f613a4b | 211 | &generator_test5, |
113f461e | 212 | &generator_test6, |
d4425c1b | 213 | &ike_sa_manager_test, |
110dc83a | 214 | &packet_test, |
fd9cabd4 JH |
215 | NULL |
216 | }; | |
f3c01a28 | 217 | global_logger_manager = logger_manager_create(ALL); |
fd9cabd4 | 218 | |
da6f7756 | 219 | global_socket = socket_create(4600); |
fd9cabd4 | 220 | |
da6f7756 JH |
221 | global_job_queue = job_queue_create(); |
222 | global_event_queue = event_queue_create(); | |
223 | global_send_queue = send_queue_create(); | |
7d995669 JH |
224 | |
225 | ||
da6f7756 | 226 | |
6dfc0b79 | 227 | tester_t *tester = tester_create(test_output, FALSE); |
fd9cabd4 | 228 | |
260f3338 MW |
229 | |
230 | // tester->perform_tests(tester,all_tests); | |
22a5e2b8 | 231 | tester->perform_test(tester,&parser_test4); |
2b9dd467 | 232 | |
fd9cabd4 JH |
233 | |
234 | tester->destroy(tester); | |
da6f7756 | 235 | |
7d995669 | 236 | |
da6f7756 JH |
237 | /* Destroy all queues */ |
238 | global_job_queue->destroy(global_job_queue); | |
239 | global_event_queue->destroy(global_event_queue); | |
240 | global_send_queue->destroy(global_send_queue); | |
fd9cabd4 | 241 | |
da6f7756 | 242 | global_socket->destroy(global_socket); |
fd9cabd4 | 243 | |
ffd555f5 | 244 | global_logger_manager->destroy(global_logger_manager); |
7d995669 | 245 | |
fd9cabd4 | 246 | #ifdef LEAK_DETECTIVE |
6c4b815f | 247 | /* Leaks are reported on stderr */ |
283ac6ef | 248 | report_memory_leaks(void); |
fd9cabd4 JH |
249 | #endif |
250 | ||
251 | return 0; | |
252 | } |