63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
|
#ifndef LWIP_HDR_LWIP_CHECK_H
|
||
|
#define LWIP_HDR_LWIP_CHECK_H
|
||
|
|
||
|
/* Common header file for lwIP unit tests using the check framework */
|
||
|
|
||
|
#include <config.h>
|
||
|
#include <check.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
#define FAIL_RET() \
|
||
|
do { \
|
||
|
fail(); \
|
||
|
return; \
|
||
|
} while (0)
|
||
|
#define EXPECT(x) fail_unless(x)
|
||
|
#define EXPECT_RET(x) \
|
||
|
do { \
|
||
|
fail_unless(x); \
|
||
|
if (!(x)) { \
|
||
|
return; \
|
||
|
} \
|
||
|
} while (0)
|
||
|
#define EXPECT_RETX(x, y) \
|
||
|
do { \
|
||
|
fail_unless(x); \
|
||
|
if (!(x)) { \
|
||
|
return y; \
|
||
|
} \
|
||
|
} while (0)
|
||
|
#define EXPECT_RETNULL(x) EXPECT_RETX(x, NULL)
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
TFun func;
|
||
|
const char *name;
|
||
|
} testfunc;
|
||
|
|
||
|
#define TESTFUNC(x) \
|
||
|
{ \
|
||
|
(x), "" #x "" \
|
||
|
}
|
||
|
|
||
|
/* Modified function from check.h, supplying function name */
|
||
|
#define tcase_add_named_test(tc, tf) \
|
||
|
_tcase_add_test((tc), (tf).func, (tf).name, 0, 0, 0, 1)
|
||
|
|
||
|
/** typedef for a function returning a test suite */
|
||
|
typedef Suite *(suite_getter_fn)(void);
|
||
|
|
||
|
/** Create a test suite */
|
||
|
Suite *create_suite(const char *name, testfunc *tests, size_t num_tests, SFun setup, SFun teardown);
|
||
|
|
||
|
#ifdef LWIP_UNITTESTS_LIB
|
||
|
int lwip_unittests_run(void)
|
||
|
#endif
|
||
|
|
||
|
/* helper functions */
|
||
|
#define SKIP_POOL(x) (1 << x)
|
||
|
#define SKIP_HEAP (1 << MEMP_MAX)
|
||
|
void lwip_check_ensure_no_alloc(unsigned int skip);
|
||
|
|
||
|
#endif /* LWIP_HDR_LWIP_CHECK_H */
|