5 changed files with 84 additions and 2 deletions
@ -0,0 +1,69 @@
|
||||
#include "test_mem.h" |
||||
|
||||
#include "lwip/mem.h" |
||||
#include "lwip/stats.h" |
||||
|
||||
#if !LWIP_STATS || !MEM_STATS |
||||
#error "This tests needs MEM-statistics enabled" |
||||
#endif |
||||
#if LWIP_SNMP || LWIP_DNS |
||||
#error "This test needs SNMP and DNS turned off (as they malloc on init)" |
||||
#endif |
||||
|
||||
/* Setups/teardown functions */ |
||||
|
||||
static void |
||||
mem_setup(void) |
||||
{ |
||||
} |
||||
|
||||
static void |
||||
mem_teardown(void) |
||||
{ |
||||
} |
||||
|
||||
|
||||
/* Test functions */ |
||||
|
||||
/** Call mem_malloc, mem_free and mem_realloc and check stats */ |
||||
START_TEST(test_mem_one) |
||||
{ |
||||
#define SIZE1 16 |
||||
#define SIZE1_2 12 |
||||
#define SIZE2 16 |
||||
void *p1, *p2, *p3, *p4, *p5; |
||||
mem_size_t s1, s2; |
||||
LWIP_UNUSED_ARG(_i); |
||||
|
||||
fail_unless(lwip_stats.mem.used == 0); |
||||
|
||||
p1 = mem_malloc(SIZE1); |
||||
fail_unless(p1 != NULL); |
||||
fail_unless(lwip_stats.mem.used >= SIZE1); |
||||
s1 = lwip_stats.mem.used; |
||||
|
||||
p2 = mem_malloc(SIZE2); |
||||
fail_unless(p2 != NULL); |
||||
fail_unless(lwip_stats.mem.used >= SIZE2 + s1); |
||||
s2 = lwip_stats.mem.used; |
||||
|
||||
mem_realloc(p1, SIZE1_2); |
||||
|
||||
mem_free(p2); |
||||
fail_unless(lwip_stats.mem.used <= s2 - SIZE2); |
||||
|
||||
mem_free(p1); |
||||
fail_unless(lwip_stats.mem.used == 0); |
||||
} |
||||
END_TEST |
||||
|
||||
|
||||
/** Create the suite including all tests for this module */ |
||||
Suite * |
||||
mem_suite(void) |
||||
{ |
||||
TFun tests[] = { |
||||
test_mem_one, |
||||
}; |
||||
return create_suite("MEM", tests, sizeof(tests)/sizeof(TFun), mem_setup, mem_teardown); |
||||
} |
||||
@ -0,0 +1,8 @@
|
||||
#ifndef __TEST_MEM_H__ |
||||
#define __TEST_MEM_H__ |
||||
|
||||
#include "../lwip_check.h" |
||||
|
||||
Suite *mem_suite(void); |
||||
|
||||
#endif |
||||
Loading…
Reference in new issue