From 1f652b8b5ca5dbea588975466801cb1479f3dda8 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 1 Apr 2026 12:15:25 +0200 Subject: kernel/tests: dissolve tests into source tree --- kernel/tests/kapi/cio.cpp | 38 ------------------ kernel/tests/kapi/cpu.cpp | 29 -------------- kernel/tests/kapi/interrupts.cpp | 11 ----- kernel/tests/kapi/memory.cpp | 86 ---------------------------------------- 4 files changed, 164 deletions(-) delete mode 100644 kernel/tests/kapi/cio.cpp delete mode 100644 kernel/tests/kapi/cpu.cpp delete mode 100644 kernel/tests/kapi/interrupts.cpp delete mode 100644 kernel/tests/kapi/memory.cpp (limited to 'kernel/tests/kapi') diff --git a/kernel/tests/kapi/cio.cpp b/kernel/tests/kapi/cio.cpp deleted file mode 100644 index 6359fa8..0000000 --- a/kernel/tests/kapi/cio.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include - -#include "kernel/tests/log_buffer.hpp" - -#include -#include -#include - -namespace kapi::cio -{ - - namespace - { - - class test_output_device : public output_device - { - public: - test_output_device() = default; - - auto write(output_stream stream, std::string_view text) -> void override - { - auto & standard_stream = stream == output_stream::stdout ? std::cout : std::cerr; - standard_stream << text; - if (text != "\n") - { - kernel::tests::log_buffer::append(std::string{text}); - } - } - } device{}; - - } // namespace - - auto init() -> void - { - set_output_device(device); - } - -} // namespace kapi::cio \ No newline at end of file diff --git a/kernel/tests/kapi/cpu.cpp b/kernel/tests/kapi/cpu.cpp deleted file mode 100644 index 3ecaadc..0000000 --- a/kernel/tests/kapi/cpu.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "kernel/tests/cpu.hpp" - -#include - -#include -#include - -namespace kapi::cpu -{ - - auto init() -> void - { - auto static initialized = std::atomic_flag{}; - if (initialized.test_and_set()) - { - throw std::logic_error("kapi::cpu::init() called more than once"); - } - - // TODO: make sure that simulated interrupt can run. - - return; - } - - auto halt() -> void - { - throw kernel::tests::cpu::halt{}; - } - -} // namespace kapi::cpu \ No newline at end of file diff --git a/kernel/tests/kapi/interrupts.cpp b/kernel/tests/kapi/interrupts.cpp deleted file mode 100644 index 0077266..0000000 --- a/kernel/tests/kapi/interrupts.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include - -namespace kapi::interrupts -{ - - auto enable() -> void - { - // TODO: enable simulated interrupts. - } - -} // namespace kapi::interrupts \ No newline at end of file diff --git a/kernel/tests/kapi/memory.cpp b/kernel/tests/kapi/memory.cpp deleted file mode 100644 index 6de2f60..0000000 --- a/kernel/tests/kapi/memory.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#include "kapi/memory.hpp" - -#include - -#include "kernel/tests/simulated_memory.hpp" - -#include -#include - -#include -#include -#include -#include - -namespace kapi::memory -{ - - namespace - { - //! The size of the simulated RAM. - constexpr auto simulate_memory_size = kstd::units::MiB(32); - - struct test_boostrap_frame_allocator : frame_allocator - { - auto mark_used(frame) -> void override {} - - auto allocate_many(std::size_t count) noexcept -> std::optional> override - { - auto start = next_free_frame; - next_free_frame += count; - return std::pair{frame{start}, count}; - } - - auto release_many(std::pair) -> void override {} - - std::size_t next_free_frame{}; - } boostrap_allocator; - - struct test_page_mapper : page_mapper - { - auto map(page page, frame frame, flags flags) -> std::byte * override - { - kstd::println("mapping page {} onto frame {} with flags {}", page.number(), frame.number(), - static_cast(flags)); - - if ((page.start_address() & pmm_metadata_base.raw()) == pmm_metadata_base.raw()) - { - auto offset = page.start_address() & ~pmm_metadata_base.raw(); - return kernel::tests::simulated_memory::pmm_metadata_base() + offset; - } - - return nullptr; - } - - auto unmap(page page) -> void override - { - kstd::println("unmapping page {}", page.number()); - } - - auto try_unmap(page page) noexcept -> bool override - { - kstd::println("trying to unmap page {}", page.number()); - return false; - } - } test_mapper; - - auto handoff_to_kernel_pmm(frame_allocator & new_allocator) -> void - { - for (auto i = 0uz; i < boostrap_allocator.next_free_frame; ++i) - { - new_allocator.mark_used(frame{i}); - } - } - - } // namespace - - auto init() -> void - { - kernel::tests::simulated_memory::init(simulate_memory_size); - set_frame_allocator(boostrap_allocator); - set_page_mapper(test_mapper); - - init_pmm(simulate_memory_size / frame::size, handoff_to_kernel_pmm); - } - -} // namespace kapi::memory \ No newline at end of file -- cgit v1.2.3