[LWIP]
[reactos.git] / lib / drivers / lwip / test / unit / lwip_unittests.c
1 #include "lwip_check.h"
2
3 #include "udp/test_udp.h"
4 #include "tcp/test_tcp.h"
5 #include "tcp/test_tcp_oos.h"
6
7 #include "lwip/init.h"
8
9
10 int main()
11 {
12 int number_failed;
13 SRunner *sr;
14 size_t i;
15 suite_getter_fn* suites[] = {
16 udp_suite,
17 tcp_suite,
18 tcp_oos_suite,
19 };
20 size_t num = sizeof(suites)/sizeof(void*);
21 LWIP_ASSERT("No suites defined", num > 0);
22
23 lwip_init();
24
25 sr = srunner_create((suites[0])());
26 for(i = 1; i < num; i++) {
27 srunner_add_suite(sr, ((suite_getter_fn*)suites[i])());
28 }
29
30 #ifdef LWIP_UNITTESTS_NOFORK
31 srunner_set_fork_status(sr, CK_NOFORK);
32 #endif
33 #ifdef LWIP_UNITTESTS_FORK
34 srunner_set_fork_status(sr, CK_FORK);
35 #endif
36
37 srunner_run_all(sr, CK_NORMAL);
38 number_failed = srunner_ntests_failed(sr);
39 srunner_free(sr);
40 return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
41 }
42