xref: /nrf52832-nimble/rt-thread/components/net/lwip-2.0.2/test/unit/lwip_check.h (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero #ifndef LWIP_HDR_LWIP_CHECK_H
2*10465441SEvalZero #define LWIP_HDR_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 struct {
17*10465441SEvalZero   TFun func;
18*10465441SEvalZero   const char *name;
19*10465441SEvalZero } testfunc;
20*10465441SEvalZero 
21*10465441SEvalZero #define TESTFUNC(x) {(x), "" # x "" }
22*10465441SEvalZero 
23*10465441SEvalZero /* Modified function from check.h, supplying function name */
24*10465441SEvalZero #define tcase_add_named_test(tc,tf) \
25*10465441SEvalZero    _tcase_add_test((tc),(tf).func,(tf).name,0, 0, 0, 1)
26*10465441SEvalZero 
27*10465441SEvalZero /** typedef for a function returning a test suite */
28*10465441SEvalZero typedef Suite* (suite_getter_fn)(void);
29*10465441SEvalZero 
30*10465441SEvalZero /** Create a test suite */
31*10465441SEvalZero Suite* create_suite(const char* name, testfunc *tests, size_t num_tests, SFun setup, SFun teardown);
32*10465441SEvalZero 
33*10465441SEvalZero #ifdef LWIP_UNITTESTS_LIB
34*10465441SEvalZero int lwip_unittests_run(void)
35*10465441SEvalZero #endif
36*10465441SEvalZero 
37*10465441SEvalZero #endif /* LWIP_HDR_LWIP_CHECK_H */
38