Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
lwip_unittests.c
00001 #include "lwip_check.h" 00002 00003 #include "udp/test_udp.h" 00004 #include "tcp/test_tcp.h" 00005 #include "tcp/test_tcp_oos.h" 00006 #include "core/test_mem.h" 00007 #include "core/test_pbuf.h" 00008 #include "etharp/test_etharp.h" 00009 #include "dhcp/test_dhcp.h" 00010 #include "mdns/test_mdns.h" 00011 00012 #include "lwip/init.h" 00013 00014 Suite* create_suite(const char* name, testfunc *tests, size_t num_tests, SFun setup, SFun teardown) 00015 { 00016 size_t i; 00017 Suite *s = suite_create(name); 00018 00019 for(i = 0; i < num_tests; i++) { 00020 TCase *tc_core = tcase_create(name); 00021 if ((setup != NULL) || (teardown != NULL)) { 00022 tcase_add_checked_fixture(tc_core, setup, teardown); 00023 } 00024 tcase_add_named_test(tc_core, tests[i]); 00025 suite_add_tcase(s, tc_core); 00026 } 00027 return s; 00028 } 00029 00030 #ifdef LWIP_UNITTESTS_LIB 00031 int lwip_unittests_run(void) 00032 #else 00033 int main(void) 00034 #endif 00035 { 00036 int number_failed; 00037 SRunner *sr; 00038 size_t i; 00039 suite_getter_fn* suites[] = { 00040 udp_suite, 00041 tcp_suite, 00042 tcp_oos_suite, 00043 mem_suite, 00044 pbuf_suite, 00045 etharp_suite, 00046 dhcp_suite, 00047 mdns_suite 00048 }; 00049 size_t num = sizeof(suites)/sizeof(void*); 00050 LWIP_ASSERT("No suites defined", num > 0); 00051 00052 lwip_init(); 00053 00054 sr = srunner_create((suites[0])()); 00055 for(i = 1; i < num; i++) { 00056 srunner_add_suite(sr, ((suite_getter_fn*)suites[i])()); 00057 } 00058 00059 #ifdef LWIP_UNITTESTS_NOFORK 00060 srunner_set_fork_status(sr, CK_NOFORK); 00061 #endif 00062 #ifdef LWIP_UNITTESTS_FORK 00063 srunner_set_fork_status(sr, CK_FORK); 00064 #endif 00065 00066 srunner_run_all(sr, CK_NORMAL); 00067 number_failed = srunner_ntests_failed(sr); 00068 srunner_free(sr); 00069 return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; 00070 }
Generated on Tue Jul 12 2022 12:22:03 by
