aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2020-11-24 15:59:23 -0700
committerJosh Rahm <joshuarahm@gmail.com>2020-11-24 15:59:23 -0700
commit0c0f5c3d8397ba5168f0cd01b25ba70c238b36e0 (patch)
treed986372cf7266cd1e090b7974e744c77c1871bdc /tests
parentecbcb2509f4b811bce0a56e07de9737d14815251 (diff)
downloadstm32l4-0c0f5c3d8397ba5168f0cd01b25ba70c238b36e0.tar.gz
stm32l4-0c0f5c3d8397ba5168f0cd01b25ba70c238b36e0.tar.bz2
stm32l4-0c0f5c3d8397ba5168f0cd01b25ba70c238b36e0.zip
Fix kalloc. Now the HEAP START and HEAP END globals are defined by the linker script.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_memory.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/tests/test_memory.c b/tests/test_memory.c
index 0f4ccab..a977a70 100644
--- a/tests/test_memory.c
+++ b/tests/test_memory.c
@@ -90,7 +90,7 @@ TEST(memory, kalloc)
char buf[1024];
if (debug_kalloc_assert_consistency(buf, 1024)) {
fprintf(stderr, "Consistency check failed. (%s:%d)\n", __FILE__, __LINE__);
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
@@ -134,6 +134,9 @@ TEST(memory, uneven_kalloc)
return 0;
}
+#define ASSERT_KALLOC_EMPTY() \
+ ASSERT_EQ((void*)(kalloc_start + kalloc_start->size + 1), (void*)&HEAP_STOP)
+
TEST(memory, kalloc_free)
{
if (kalloc_start) {
@@ -152,7 +155,7 @@ TEST(memory, kalloc_free)
kfree(test1);
kfree(test5);
- ASSERT_EQ((int)kalloc_start->size * 4, MAX_HEAP_SIZE - 4);
+ ASSERT_KALLOC_EMPTY();
test1 = new_test_struct();
test2 = new_test_struct2();
@@ -166,7 +169,7 @@ TEST(memory, kalloc_free)
kfree(test4);
kfree(test5);
- ASSERT_EQ((int)kalloc_start->size * 4, MAX_HEAP_SIZE - 4);
+ ASSERT_KALLOC_EMPTY();
test1 = new_test_struct();
test2 = new_test_struct2();
@@ -180,7 +183,7 @@ TEST(memory, kalloc_free)
kfree(test2);
kfree(test5);
- ASSERT_EQ((int)kalloc_start->size * 4, MAX_HEAP_SIZE - 4);
+ ASSERT_KALLOC_EMPTY();
wipeout_kalloc();
@@ -216,7 +219,7 @@ TEST(memory, kalloc_free_alloc2)
char buf[1024];
if (debug_kalloc_assert_consistency(buf, 1024)) {
fprintf(stderr, "Consistency check failed.\n");
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
@@ -238,7 +241,7 @@ TEST(memory, relink_backref_after_free)
char buf[1024];
if (debug_kalloc_assert_consistency(buf, 1024)) {
fprintf(stderr, "Consistency check failed.\n");
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
@@ -267,7 +270,7 @@ TEST(memory, consistency_stress)
i,
__FILE__,
__LINE__);
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
@@ -283,7 +286,7 @@ TEST(memory, consistency_stress)
i,
__FILE__,
__LINE__);
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
@@ -297,7 +300,7 @@ TEST(memory, consistency_stress)
i,
__FILE__,
__LINE__);
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
@@ -312,7 +315,7 @@ TEST(memory, consistency_stress)
i,
__FILE__,
__LINE__);
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
}
@@ -329,11 +332,12 @@ TEST(memory, consistency_stress)
i,
__FILE__,
__LINE__);
- fprintf(stderr, buf);
+ fprintf(stderr, "%s", buf);
ASSERT_TRUE(false);
}
}
- ASSERT_EQ((int)kalloc_start->size * 4, MAX_HEAP_SIZE - 4);
+
+ ASSERT_KALLOC_EMPTY();
return 0;
}