| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #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_DNS
- #error "This test needs DNS turned off (as it mallocs 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_trim and check stats */
- START_TEST(test_mem_one)
- {
- #define SIZE1 16
- #define SIZE1_2 12
- #define SIZE2 16
- void *p1, *p2;
- mem_size_t s1, s2;
- LWIP_UNUSED_ARG(_i);
- #if LWIP_DNS
- fail("This test needs DNS turned off (as it mallocs on init)");
- #endif
- 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_trim(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);
- }
|