mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-19 05:10:40 +00:00
70 lines
1.3 KiB
C
70 lines
1.3 KiB
C
|
#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);
|
||
|
}
|