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(MEMP_STATS_GET(used, MEMP_UDP_PCB) == 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(MEMP_STATS_GET(used, MEMP_UDP_PCB) == 0);
|
||
|
|
||
|
pcb = udp_new();
|
||
|
fail_unless(pcb != NULL);
|
||
|
if (pcb != NULL) {
|
||
|
fail_unless(MEMP_STATS_GET(used, MEMP_UDP_PCB) == 1);
|
||
|
udp_remove(pcb);
|
||
|
fail_unless(MEMP_STATS_GET(used, MEMP_UDP_PCB) == 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);
|
||
|
}
|