aboutsummaryrefslogtreecommitdiff
path: root/src/tests/ktests/region2/test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/ktests/region2/test.c')
-rw-r--r--src/tests/ktests/region2/test.c43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/tests/ktests/region2/test.c b/src/tests/ktests/region2/test.c
deleted file mode 100644
index 232bd12..0000000
--- a/src/tests/ktests/region2/test.c
+++ /dev/null
@@ -1,43 +0,0 @@
-
-void pf_allocate_on_demand(pagedir_t *pd, struct region_info *r, void* addr) {
- ASSERT(pd_get_frame(addr) == 0); // if error is of another type (RO, protected), we don't do anyting
-
- uint32_t f = frame_alloc(1);
- if (f == 0) PANIC("Out Of Memory");
- bool map_ok = pd_map_page(addr, f, 1);
- if (!map_ok) PANIC("Could not map frame (OOM)");
-}
-
-void test_region_2() {
- BEGIN_TEST("region-test-2");
-
- // allocate a big region and try to write into it
- const size_t n = 200;
- void* p0 = region_alloc(n * PAGE_SIZE, "Test big region", pf_allocate_on_demand);
- for (size_t i = 0; i < n; i++) {
- uint32_t *x = (uint32_t*)(p0 + i * PAGE_SIZE);
- x[0] = 12;
- x[1] = (i * 20422) % 122;
- }
- // unmap memory
- for (size_t i = 0; i < n; i++) {
- void* p = p0 + i * PAGE_SIZE;
- uint32_t *x = (uint32_t*)p;
- ASSERT(x[1] == (i * 20422) % 122);
-
- uint32_t f = pd_get_frame(p);
- ASSERT(f != 0);
- pd_unmap_page(p);
- ASSERT(pd_get_frame(p) == 0);
-
- frame_free(f, 1);
- }
- region_free(p0);
-
- TEST_OK;
-}
-
-#undef TEST_PLACEHOLDER_AFTER_REGION
-#define TEST_PLACEHOLDER_AFTER_REGION { test_region_2(); }
-
-/* vim: set ts=4 sw=4 tw=0 noet :*/