diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-04-01 22:52:22 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-04-01 22:52:22 +0200 |
| commit | 3eb680cf5bcef626505cac82820996d8db4170d7 (patch) | |
| tree | 9bf034f544ae773b653554a54edfce232f835754 /kernel/src/test_support | |
| parent | f8456a8709b6894166865eb4ca067604f480eb7f (diff) | |
| download | teachos-3eb680cf5bcef626505cac82820996d8db4170d7.tar.xz teachos-3eb680cf5bcef626505cac82820996d8db4170d7.zip | |
kernel/tests: prevent double mapping of pages
Diffstat (limited to 'kernel/src/test_support')
| -rw-r--r-- | kernel/src/test_support/page_mapper.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/src/test_support/page_mapper.cpp b/kernel/src/test_support/page_mapper.cpp index 805998b..abdcae5 100644 --- a/kernel/src/test_support/page_mapper.cpp +++ b/kernel/src/test_support/page_mapper.cpp @@ -18,7 +18,12 @@ namespace kernel::tests auto page_mapper::map(kapi::memory::page page, kapi::memory::frame frame, flags) -> std::byte * { - page_mappings.insert({page.number(), frame}); + auto result = page_mappings.insert({page.number(), frame}); + if (!result.second) + { + auto error = std::format("Page {} was already mapped!", page.number()); + throw std::invalid_argument{error}; + } auto page_address = page.start_address(); auto sandbox_start = memory.heap_base(); |
