1*10465441SEvalZero #ifndef __LWIP_CHECK_H__
2*10465441SEvalZero #define __LWIP_CHECK_H__
3*10465441SEvalZero
4*10465441SEvalZero /* Common header file for lwIP unit tests using the check framework */
5*10465441SEvalZero
6*10465441SEvalZero #include <config.h>
7*10465441SEvalZero #include <check.h>
8*10465441SEvalZero #include <stdlib.h>
9*10465441SEvalZero
10*10465441SEvalZero #define FAIL_RET() do { fail(); return; } while(0)
11*10465441SEvalZero #define EXPECT(x) fail_unless(x)
12*10465441SEvalZero #define EXPECT_RET(x) do { fail_unless(x); if(!(x)) { return; }} while(0)
13*10465441SEvalZero #define EXPECT_RETX(x, y) do { fail_unless(x); if(!(x)) { return y; }} while(0)
14*10465441SEvalZero #define EXPECT_RETNULL(x) EXPECT_RETX(x, NULL)
15*10465441SEvalZero
16*10465441SEvalZero /** typedef for a function returning a test suite */
17*10465441SEvalZero typedef Suite* (suite_getter_fn)(void);
18*10465441SEvalZero
19*10465441SEvalZero /** Create a test suite */
create_suite(const char * name,TFun * tests,size_t num_tests,SFun setup,SFun teardown)20*10465441SEvalZero static Suite* create_suite(const char* name, TFun *tests, size_t num_tests, SFun setup, SFun teardown)
21*10465441SEvalZero {
22*10465441SEvalZero size_t i;
23*10465441SEvalZero Suite *s = suite_create(name);
24*10465441SEvalZero
25*10465441SEvalZero for(i = 0; i < num_tests; i++) {
26*10465441SEvalZero /* Core test case */
27*10465441SEvalZero TCase *tc_core = tcase_create("Core");
28*10465441SEvalZero if ((setup != NULL) || (teardown != NULL)) {
29*10465441SEvalZero tcase_add_checked_fixture(tc_core, setup, teardown);
30*10465441SEvalZero }
31*10465441SEvalZero tcase_add_test(tc_core, tests[i]);
32*10465441SEvalZero suite_add_tcase(s, tc_core);
33*10465441SEvalZero }
34*10465441SEvalZero return s;
35*10465441SEvalZero }
36*10465441SEvalZero
37*10465441SEvalZero #endif /* __LWIP_CHECK_H__ */
38