VMM -- test refactoring

This commit is contained in:
Thomas Lovén 2017-12-29 22:32:43 +01:00
parent f78500d603
commit bbd220a395

View File

@ -6,6 +6,8 @@
void *data; void *data;
uintptr_t *p4, *p3, *p2, *p1; uintptr_t *p4, *p3, *p2, *p1;
#define ADDR1234 ((1UL<<39) + (2UL<<30) + (3UL<<21) + (4UL<<12))
BEFORE() BEFORE()
{ {
data = calloc(PAGE_SIZE, 5); data = calloc(PAGE_SIZE, 5);
@ -57,7 +59,7 @@ TEST(get_page_works_for_different_address)
p2[3] |= PAGE_PRESENT; p2[3] |= PAGE_PRESENT;
p1[4] = 0x34567890ABCDE000 | PAGE_PRESENT; p1[4] = 0x34567890ABCDE000 | PAGE_PRESENT;
uintptr_t ret = vmm_get_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12)); uintptr_t ret = vmm_get_page(p4, ADDR1234);
ASSERT_EQ_PTR(ret, 0x34567890ABCDE000 | PAGE_PRESENT); ASSERT_EQ_PTR(ret, 0x34567890ABCDE000 | PAGE_PRESENT);
} }
@ -125,19 +127,19 @@ uintptr_t pmm_alloc()
TEST(touch_page_adds_P3) TEST(touch_page_adds_P3)
{ {
touch_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12), 0); touch_page(p4, ADDR1234, 0);
ASSERT_EQ_PTR(p4[1], (uintptr_t)p3 | PAGE_PRESENT); ASSERT_EQ_PTR(p4[1], (uintptr_t)p3 | PAGE_PRESENT);
} }
TEST(touch_page_adds_P2) TEST(touch_page_adds_P2)
{ {
touch_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12), 0); touch_page(p4, ADDR1234, 0);
ASSERT_EQ_PTR(p3[2], (uintptr_t)p2 | PAGE_PRESENT); ASSERT_EQ_PTR(p3[2], (uintptr_t)p2 | PAGE_PRESENT);
} }
TEST(touch_page_adds_P1) TEST(touch_page_adds_P1)
{ {
touch_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12), 0); touch_page(p4, ADDR1234, 0);
ASSERT_EQ_PTR(p2[3], (uintptr_t)p1 | PAGE_PRESENT); ASSERT_EQ_PTR(p2[3], (uintptr_t)p1 | PAGE_PRESENT);
} }