uc-sdk
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lwip_check.h
Go to the documentation of this file.
1 #ifndef __LWIP_CHECK_H__
2 #define __LWIP_CHECK_H__
3 
4 /* Common header file for lwIP unit tests using the check framework */
5 
6 #include <config.h>
7 #include <check.h>
8 #include <stdlib.h>
9 
10 #define FAIL_RET() do { fail(); return; } while(0)
11 #define EXPECT(x) fail_unless(x)
12 #define EXPECT_RET(x) do { fail_unless(x); if(!(x)) { return; }} while(0)
13 #define EXPECT_RETX(x, y) do { fail_unless(x); if(!(x)) { return y; }} while(0)
14 #define EXPECT_RETNULL(x) EXPECT_RETX(x, NULL)
15 
17 typedef Suite* (suite_getter_fn)(void);
18 
20 static Suite* create_suite(const char* name, TFun *tests, size_t num_tests, SFun setup, SFun teardown)
21 {
22  size_t i;
23  Suite *s = suite_create(name);
24 
25  for(i = 0; i < num_tests; i++) {
26  /* Core test case */
27  TCase *tc_core = tcase_create("Core");
28  if ((setup != NULL) || (teardown != NULL)) {
29  tcase_add_checked_fixture(tc_core, setup, teardown);
30  }
31  tcase_add_test(tc_core, tests[i]);
32  suite_add_tcase(s, tc_core);
33  }
34  return s;
35 }
36 
37 #endif /* __LWIP_CHECK_H__ */