PMM -- finishing up and changing names, types
This commit is contained in:
@@ -14,44 +14,44 @@ struct {
|
||||
|
||||
TEST(alloc_returns_freed_page)
|
||||
{
|
||||
pmm_free(&mem[0]);
|
||||
void *a = pmm_alloc();
|
||||
pmm_free((uintptr_t)&mem[0]);
|
||||
uintptr_t a = pmm_alloc();
|
||||
ASSERT_EQ_PTR(a, &mem[0]);
|
||||
}
|
||||
TEST(alloc_returns_0_if_no_free_pages)
|
||||
{
|
||||
void *a = pmm_alloc();
|
||||
uintptr_t a = pmm_alloc();
|
||||
ASSERT_EQ_PTR(a, 0);
|
||||
}
|
||||
TEST(alloc_zero_after_all_free_pages)
|
||||
{
|
||||
pmm_free(&mem[0]);
|
||||
pmm_free((uintptr_t)&mem[0]);
|
||||
pmm_alloc();
|
||||
void *a = pmm_alloc();
|
||||
uintptr_t a = pmm_alloc();
|
||||
ASSERT_EQ_PTR(a, 0);
|
||||
}
|
||||
|
||||
TEST(alloc_two_pages___first_page_is_not_zero)
|
||||
{
|
||||
pmm_free(&mem[0]);
|
||||
pmm_free(&mem[1]);
|
||||
void *a = pmm_alloc();
|
||||
pmm_free((uintptr_t)&mem[0]);
|
||||
pmm_free((uintptr_t)&mem[1]);
|
||||
uintptr_t a = pmm_alloc();
|
||||
pmm_alloc();
|
||||
ASSERT_NEQ_PTR(a, 0);
|
||||
}
|
||||
TEST(alloc_two_pages___second_page_is_not_zero)
|
||||
{
|
||||
pmm_free(&mem[0]);
|
||||
pmm_free(&mem[1]);
|
||||
pmm_free((uintptr_t)&mem[0]);
|
||||
pmm_free((uintptr_t)&mem[1]);
|
||||
pmm_alloc();
|
||||
void *a = pmm_alloc();
|
||||
uintptr_t a = pmm_alloc();
|
||||
ASSERT_NEQ_PTR(a, 0);
|
||||
}
|
||||
TEST(alloc_two_pages___doesnt_return_same_page_twice)
|
||||
{
|
||||
pmm_free(&mem[0]);
|
||||
pmm_free(&mem[1]);
|
||||
void *a = pmm_alloc();
|
||||
void *b = pmm_alloc();
|
||||
pmm_free((uintptr_t)&mem[0]);
|
||||
pmm_free((uintptr_t)&mem[1]);
|
||||
uintptr_t a = pmm_alloc();
|
||||
uintptr_t b = pmm_alloc();
|
||||
ASSERT_NEQ_PTR(a, b);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user