From 1ca147f9e08202dfbc78692e204adac280f8238b Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Sat, 14 Feb 2015 19:15:43 +0100 Subject: Rearrange testing architecture : just type 'make run_tests' --- src/tests/ktests/kmalloc/Makefile | 1 + src/tests/ktests/kmalloc/test.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 120000 src/tests/ktests/kmalloc/Makefile create mode 100644 src/tests/ktests/kmalloc/test.c (limited to 'src/tests/ktests/kmalloc') diff --git a/src/tests/ktests/kmalloc/Makefile b/src/tests/ktests/kmalloc/Makefile new file mode 120000 index 0000000..4630a7c --- /dev/null +++ b/src/tests/ktests/kmalloc/Makefile @@ -0,0 +1 @@ +../rules.make \ No newline at end of file diff --git a/src/tests/ktests/kmalloc/test.c b/src/tests/ktests/kmalloc/test.c new file mode 100644 index 0000000..2b5dc6d --- /dev/null +++ b/src/tests/ktests/kmalloc/test.c @@ -0,0 +1,32 @@ + +void kmalloc_test(void* kernel_data_end) { + BEGIN_TEST("kmalloc-test"); + + dbg_print_region_info(); + const int m = 200; + uint16_t** ptr = malloc(m * sizeof(uint32_t)); + for (int i = 0; i < m; i++) { + size_t s = 1 << ((i * 7) % 11 + 2); + ptr[i] = (uint16_t*)malloc(s); + ASSERT((void*)ptr[i] >= kernel_data_end && (size_t)ptr[i] < 0xFFC00000); + *ptr[i] = ((i * 211) % 1024); + } + dbg_printf("Fully allocated.\n"); + dbg_print_region_info(); + for (int i = 0; i < m; i++) { + for (int j = i; j < m; j++) { + ASSERT(*ptr[j] == (j * 211) % 1024); + } + free(ptr[i]); + } + free(ptr); + dbg_printf("Kmalloc test OK.\n"); + dbg_print_region_info(); + + TEST_OK; +} + +#undef TEST_PLACEHOLDER_AFTER_KMALLOC +#define TEST_PLACEHOLDER_AFTER_KMALLOC { kmalloc_test(kernel_data_end); } + +/* vim: set ts=4 sw=4 tw=0 noet :*/ -- cgit v1.2.3