ReactOS  0.4.15-dev-3451-gf606fec
test_udp.c
Go to the documentation of this file.
1 #include "test_udp.h"
2 
3 #include "lwip/udp.h"
4 #include "lwip/stats.h"
5 
6 #if !LWIP_STATS || !UDP_STATS || !MEMP_STATS
7 #error "This tests needs UDP- and MEMP-statistics enabled"
8 #endif
9 
10 /* Helper functions */
11 static void
13 {
14  struct udp_pcb *pcb = udp_pcbs;
15  struct udp_pcb *pcb2;
16 
17  while(pcb != NULL) {
18  pcb2 = pcb;
19  pcb = pcb->next;
20  udp_remove(pcb2);
21  }
22  fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0);
23 }
24 
25 /* Setups/teardown functions */
26 
27 static void
28 udp_setup(void)
29 {
31 }
32 
33 static void
35 {
37 }
38 
39 
40 /* Test functions */
41 
42 START_TEST(test_udp_new_remove)
43 {
44  struct udp_pcb* pcb;
45  LWIP_UNUSED_ARG(_i);
46 
47  fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0);
48 
49  pcb = udp_new();
50  fail_unless(pcb != NULL);
51  if (pcb != NULL) {
52  fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 1);
53  udp_remove(pcb);
54  fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0);
55  }
56 }
57 END_TEST
58 
59 
61 Suite *
62 udp_suite(void)
63 {
64  TFun tests[] = {
65  test_udp_new_remove,
66  };
67  return create_suite("UDP", tests, sizeof(tests)/sizeof(TFun), udp_setup, udp_teardown);
68 }
static struct test_info tests[]
END_TEST Suite * udp_suite(void)
Definition: test_udp.c:62
static Suite * create_suite(const char *name, TFun *tests, size_t num_tests, SFun setup, SFun teardown)
Definition: lwip_check.h:20
#define NULL
Definition: types.h:112
static void udp_remove_all(void)
Definition: test_udp.c:12
START_TEST(test_udp_new_remove)
Definition: test_udp.c:42
#define LWIP_UNUSED_ARG(x)
Definition: arch.h:73
static void udp_teardown(void)
Definition: test_udp.c:34
static void udp_setup(void)
Definition: test_udp.c:28