38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef __LWIP_CHECK_H__
							 | 
						||
| 
								 | 
							
								#define __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 for a function returning a test suite */
							 | 
						||
| 
								 | 
							
								typedef Suite* (suite_getter_fn)(void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** Create a test suite */
							 | 
						||
| 
								 | 
							
								static Suite* create_suite(const char* name, TFun *tests, size_t num_tests, SFun setup, SFun teardown)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  size_t i;
							 | 
						||
| 
								 | 
							
								  Suite *s = suite_create(name);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for(i = 0; i < num_tests; i++) {
							 | 
						||
| 
								 | 
							
								    /* Core test case */
							 | 
						||
| 
								 | 
							
								    TCase *tc_core = tcase_create("Core");
							 | 
						||
| 
								 | 
							
								    if ((setup != NULL) || (teardown != NULL)) {
							 | 
						||
| 
								 | 
							
								      tcase_add_checked_fixture(tc_core, setup, teardown);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    tcase_add_test(tc_core, tests[i]);
							 | 
						||
| 
								 | 
							
								    suite_add_tcase(s, tc_core);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return s;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __LWIP_CHECK_H__ */
							 |