From 0e51150be8bd540d0b50f398a6d96f3917386738 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sat, 27 Jun 2026 18:11:56 +0000 Subject: [PATCH] [tests] Require backing base pointer to be null for HostMemory tests Signed-off-by: lizzie --- src/tests/common/host_memory.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/tests/common/host_memory.cpp b/src/tests/common/host_memory.cpp index cb040c942d..afbd284c8d 100644 --- a/src/tests/common/host_memory.cpp +++ b/src/tests/common/host_memory.cpp @@ -15,12 +15,19 @@ static constexpr auto PERMS = Common::MemoryPermission::ReadWrite; static constexpr auto HEAP = false; TEST_CASE("HostMemory: Initialize and deinitialize", "[common]") { - { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); } - { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); } + { + HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); + } + { + HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); + } } TEST_CASE("HostMemory: Simple map", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x5000, 0x8000, 0x1000, PERMS, HEAP); volatile u8* const data = mem.VirtualBasePointer() + 0x5000; @@ -30,6 +37,7 @@ TEST_CASE("HostMemory: Simple map", "[common]") { TEST_CASE("HostMemory: Simple mirror map", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x5000, 0x3000, 0x2000, PERMS, HEAP); mem.Map(0x8000, 0x4000, 0x1000, PERMS, HEAP); @@ -41,6 +49,7 @@ TEST_CASE("HostMemory: Simple mirror map", "[common]") { TEST_CASE("HostMemory: Simple unmap", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x5000, 0x3000, 0x2000, PERMS, HEAP); volatile u8* const data = mem.VirtualBasePointer() + 0x5000; @@ -52,6 +61,7 @@ TEST_CASE("HostMemory: Simple unmap", "[common]") { TEST_CASE("HostMemory: Simple unmap and remap", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x5000, 0x3000, 0x2000, PERMS, HEAP); volatile u8* const data = mem.VirtualBasePointer() + 0x5000; @@ -69,6 +79,7 @@ TEST_CASE("HostMemory: Simple unmap and remap", "[common]") { TEST_CASE("HostMemory: Nieche allocation", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x0000, 0, 0x20000, PERMS, HEAP); mem.Unmap(0x0000, 0x4000, HEAP); mem.Map(0x1000, 0, 0x2000, PERMS, HEAP); @@ -78,6 +89,7 @@ TEST_CASE("HostMemory: Nieche allocation", "[common]") { TEST_CASE("HostMemory: Full unmap", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x8000, 0, 0x4000, PERMS, HEAP); mem.Unmap(0x8000, 0x4000, HEAP); mem.Map(0x6000, 0, 0x16000, PERMS, HEAP); @@ -85,6 +97,7 @@ TEST_CASE("HostMemory: Full unmap", "[common]") { TEST_CASE("HostMemory: Right out of bounds unmap", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x0000, 0, 0x4000, PERMS, HEAP); mem.Unmap(0x2000, 0x4000, HEAP); mem.Map(0x2000, 0x80000, 0x4000, PERMS, HEAP); @@ -92,6 +105,7 @@ TEST_CASE("HostMemory: Right out of bounds unmap", "[common]") { TEST_CASE("HostMemory: Left out of bounds unmap", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + mem.Map(0x8000, 0, 0x4000, PERMS, HEAP); mem.Unmap(0x6000, 0x4000, HEAP); mem.Map(0x8000, 0, 0x2000, PERMS, HEAP); @@ -99,6 +113,7 @@ TEST_CASE("HostMemory: Left out of bounds unmap", "[common]") { TEST_CASE("HostMemory: Multiple placeholder unmap", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x0000, 0, 0x4000, PERMS, HEAP); mem.Map(0x4000, 0, 0x1b000, PERMS, HEAP); mem.Unmap(0x3000, 0x1c000, HEAP); @@ -107,6 +122,7 @@ TEST_CASE("HostMemory: Multiple placeholder unmap", "[common]") { TEST_CASE("HostMemory: Unmap between placeholders", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x0000, 0, 0x4000, PERMS, HEAP); mem.Map(0x4000, 0, 0x4000, PERMS, HEAP); mem.Unmap(0x2000, 0x4000, HEAP); @@ -115,6 +131,7 @@ TEST_CASE("HostMemory: Unmap between placeholders", "[common]") { TEST_CASE("HostMemory: Unmap to origin", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x4000, 0, 0x4000, PERMS, HEAP); mem.Map(0x8000, 0, 0x4000, PERMS, HEAP); mem.Unmap(0x4000, 0x4000, HEAP); @@ -124,6 +141,7 @@ TEST_CASE("HostMemory: Unmap to origin", "[common]") { TEST_CASE("HostMemory: Unmap to right", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x4000, 0, 0x4000, PERMS, HEAP); mem.Map(0x8000, 0, 0x4000, PERMS, HEAP); mem.Unmap(0x8000, 0x4000, HEAP); @@ -132,6 +150,7 @@ TEST_CASE("HostMemory: Unmap to right", "[common]") { TEST_CASE("HostMemory: Partial right unmap check bindings", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x4000, 0x10000, 0x4000, PERMS, HEAP); volatile u8* const ptr = mem.VirtualBasePointer() + 0x4000; @@ -144,6 +163,7 @@ TEST_CASE("HostMemory: Partial right unmap check bindings", "[common]") { TEST_CASE("HostMemory: Partial left unmap check bindings", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x4000, 0x10000, 0x4000, PERMS, HEAP); volatile u8* const ptr = mem.VirtualBasePointer() + 0x4000; @@ -158,6 +178,7 @@ TEST_CASE("HostMemory: Partial left unmap check bindings", "[common]") { TEST_CASE("HostMemory: Partial middle unmap check bindings", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x4000, 0x10000, 0x4000, PERMS, HEAP); volatile u8* const ptr = mem.VirtualBasePointer() + 0x4000; @@ -172,6 +193,7 @@ TEST_CASE("HostMemory: Partial middle unmap check bindings", "[common]") { TEST_CASE("HostMemory: Partial sparse middle unmap and check bindings", "[common]") { HostMemory mem(BACKING_SIZE, VIRTUAL_SIZE); + REQUIRE(mem.BackingBasePointer() != nullptr); mem.Map(0x4000, 0x10000, 0x2000, PERMS, HEAP); mem.Map(0x6000, 0x20000, 0x2000, PERMS, HEAP);