aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/test_support
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/test_support')
-rw-r--r--kernel/src/test_support/filesystem/storage_boot_module_fixture.cpp43
-rw-r--r--kernel/src/test_support/state_reset_listener.cpp2
2 files changed, 44 insertions, 1 deletions
diff --git a/kernel/src/test_support/filesystem/storage_boot_module_fixture.cpp b/kernel/src/test_support/filesystem/storage_boot_module_fixture.cpp
new file mode 100644
index 0000000..8bbf194
--- /dev/null
+++ b/kernel/src/test_support/filesystem/storage_boot_module_fixture.cpp
@@ -0,0 +1,43 @@
+#include "kernel/test_support/filesystem/storage_boot_module_fixture.hpp"
+
+#include "kapi/boot_module/boot_module.hpp"
+#include "kapi/boot_modules.hpp"
+#include "kapi/memory.hpp"
+
+#include "kernel/devices/storage/management.hpp"
+#include "kernel/test_support/boot_modules.hpp"
+#include "kernel/test_support/devices/storage/management.hpp"
+
+#include <cstddef>
+#include <string>
+
+namespace kernel::tests::filesystem
+{
+ auto storage_boot_module_fixture::setup_modules(std::size_t module_count, std::size_t module_size) -> void
+ {
+ kernel::tests::devices::storage::management::deinit();
+ kernel::tests::boot_modules::deinit();
+
+ module_names.clear();
+ module_data.clear();
+ registry = {};
+
+ module_names.reserve(module_count);
+ module_data.reserve(module_count);
+
+ for (std::size_t i = 0; i < module_count; ++i)
+ {
+ module_names.push_back("test_mod" + std::to_string(i));
+ module_data.emplace_back(module_size, std::byte{static_cast<unsigned char>(0x40 + (i % 16))});
+ }
+
+ for (std::size_t i = 0; i < module_count; ++i)
+ {
+ registry.add_boot_module(kapi::boot_modules::boot_module{
+ module_names[i], kapi::memory::linear_address{module_data[i].data()}, module_data[i].size()});
+ }
+
+ kapi::boot_modules::set_boot_module_registry(registry);
+ kernel::devices::storage::management::init();
+ }
+} // namespace kernel::tests::filesystem \ No newline at end of file
diff --git a/kernel/src/test_support/state_reset_listener.cpp b/kernel/src/test_support/state_reset_listener.cpp
index af1091c..9120c89 100644
--- a/kernel/src/test_support/state_reset_listener.cpp
+++ b/kernel/src/test_support/state_reset_listener.cpp
@@ -33,8 +33,8 @@ struct state_reset_listener : Catch::EventListenerBase
{
kernel::tests::filesystem::file_descriptor_table::deinit();
kernel::tests::filesystem::vfs::deinit();
- kernel::tests::devices::storage::deinit();
kernel::tests::boot_modules::deinit();
+ kernel::tests::devices::storage::management::deinit();
kernel::tests::memory::deinit();
kernel::tests::cpu::deinit();