xref: /minix3/minix/lib/liblwip/dist/test/unit/lwip_check.h (revision 5d5fbe79c1b60734f34c69330aec5496644e8651)
1*5d5fbe79SDavid van Moolenbroek #ifndef LWIP_HDR_LWIP_CHECK_H
2*5d5fbe79SDavid van Moolenbroek #define LWIP_HDR_LWIP_CHECK_H
3*5d5fbe79SDavid van Moolenbroek 
4*5d5fbe79SDavid van Moolenbroek /* Common header file for lwIP unit tests using the check framework */
5*5d5fbe79SDavid van Moolenbroek 
6*5d5fbe79SDavid van Moolenbroek #include <config.h>
7*5d5fbe79SDavid van Moolenbroek #include <check.h>
8*5d5fbe79SDavid van Moolenbroek #include <stdlib.h>
9*5d5fbe79SDavid van Moolenbroek 
10*5d5fbe79SDavid van Moolenbroek #define FAIL_RET() do { fail(); return; } while(0)
11*5d5fbe79SDavid van Moolenbroek #define EXPECT(x) fail_unless(x)
12*5d5fbe79SDavid van Moolenbroek #define EXPECT_RET(x) do { fail_unless(x); if(!(x)) { return; }} while(0)
13*5d5fbe79SDavid van Moolenbroek #define EXPECT_RETX(x, y) do { fail_unless(x); if(!(x)) { return y; }} while(0)
14*5d5fbe79SDavid van Moolenbroek #define EXPECT_RETNULL(x) EXPECT_RETX(x, NULL)
15*5d5fbe79SDavid van Moolenbroek 
16*5d5fbe79SDavid van Moolenbroek typedef struct {
17*5d5fbe79SDavid van Moolenbroek   TFun func;
18*5d5fbe79SDavid van Moolenbroek   const char *name;
19*5d5fbe79SDavid van Moolenbroek } testfunc;
20*5d5fbe79SDavid van Moolenbroek 
21*5d5fbe79SDavid van Moolenbroek #define TESTFUNC(x) {(x), "" # x "" }
22*5d5fbe79SDavid van Moolenbroek 
23*5d5fbe79SDavid van Moolenbroek /* Modified function from check.h, supplying function name */
24*5d5fbe79SDavid van Moolenbroek #define tcase_add_named_test(tc,tf) \
25*5d5fbe79SDavid van Moolenbroek    _tcase_add_test((tc),(tf).func,(tf).name,0, 0, 0, 1)
26*5d5fbe79SDavid van Moolenbroek 
27*5d5fbe79SDavid van Moolenbroek /** typedef for a function returning a test suite */
28*5d5fbe79SDavid van Moolenbroek typedef Suite* (suite_getter_fn)(void);
29*5d5fbe79SDavid van Moolenbroek 
30*5d5fbe79SDavid van Moolenbroek /** Create a test suite */
31*5d5fbe79SDavid van Moolenbroek Suite* create_suite(const char* name, testfunc *tests, size_t num_tests, SFun setup, SFun teardown);
32*5d5fbe79SDavid van Moolenbroek 
33*5d5fbe79SDavid van Moolenbroek #ifdef LWIP_UNITTESTS_LIB
34*5d5fbe79SDavid van Moolenbroek int lwip_unittests_run(void)
35*5d5fbe79SDavid van Moolenbroek #endif
36*5d5fbe79SDavid van Moolenbroek 
37*5d5fbe79SDavid van Moolenbroek #endif /* LWIP_HDR_LWIP_CHECK_H */
38