69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #include "test_udp.h"
 | ||
|  | 
 | ||
|  | #include "lwip/udp.h"
 | ||
|  | #include "lwip/stats.h"
 | ||
|  | 
 | ||
|  | #if !LWIP_STATS || !UDP_STATS || !MEMP_STATS
 | ||
|  | #error "This tests needs UDP- and MEMP-statistics enabled"
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* Helper functions */ | ||
|  | static void | ||
|  | udp_remove_all(void) | ||
|  | { | ||
|  |   struct udp_pcb *pcb = udp_pcbs; | ||
|  |   struct udp_pcb *pcb2; | ||
|  | 
 | ||
|  |   while(pcb != NULL) { | ||
|  |     pcb2 = pcb; | ||
|  |     pcb = pcb->next; | ||
|  |     udp_remove(pcb2); | ||
|  |   } | ||
|  |   fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0); | ||
|  | } | ||
|  | 
 | ||
|  | /* Setups/teardown functions */ | ||
|  | 
 | ||
|  | static void | ||
|  | udp_setup(void) | ||
|  | { | ||
|  |   udp_remove_all(); | ||
|  | } | ||
|  | 
 | ||
|  | static void | ||
|  | udp_teardown(void) | ||
|  | { | ||
|  |   udp_remove_all(); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | /* Test functions */ | ||
|  | 
 | ||
|  | START_TEST(test_udp_new_remove) | ||
|  | { | ||
|  |   struct udp_pcb* pcb; | ||
|  |   LWIP_UNUSED_ARG(_i); | ||
|  | 
 | ||
|  |   fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0); | ||
|  | 
 | ||
|  |   pcb = udp_new(); | ||
|  |   fail_unless(pcb != NULL); | ||
|  |   if (pcb != NULL) { | ||
|  |     fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 1); | ||
|  |     udp_remove(pcb); | ||
|  |     fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0); | ||
|  |   } | ||
|  | } | ||
|  | END_TEST | ||
|  | 
 | ||
|  | 
 | ||
|  | /** Create the suite including all tests for this module */ | ||
|  | Suite * | ||
|  | udp_suite(void) | ||
|  | { | ||
|  |   TFun tests[] = { | ||
|  |     test_udp_new_remove, | ||
|  |   }; | ||
|  |   return create_suite("UDP", tests, sizeof(tests)/sizeof(TFun), udp_setup, udp_teardown); | ||
|  | } |