This repository has been archived on 2023-07-17. You can view files and clone it, but cannot push or open issues or pull requests.
bl_mcu_sdk/components/lwip/test/unit/lwip_check.h

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 */