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)
|
|
{
|
|
testfunc tests[] = {
|
|
TESTFUNC(test_udp_new_remove),
|
|
};
|
|
return create_suite("UDP", tests, sizeof(tests)/sizeof(testfunc), udp_setup, udp_teardown);
|
|
}
|