From 825d8bafef152a52cd76851764913fb12cdc685d Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 1 Apr 2026 17:29:25 +0200 Subject: kernel/test: rename test include to test_support --- .../kernel/test_support/bump_frame_allocator.hpp | 32 +++++++++++++++++++++ kernel/include/kernel/test_support/cpu.hpp | 18 ++++++++++++ kernel/include/kernel/test_support/log_buffer.hpp | 32 +++++++++++++++++++++ kernel/include/kernel/test_support/page_mapper.hpp | 33 ++++++++++++++++++++++ .../kernel/test_support/simulated_memory.hpp | 27 ++++++++++++++++++ .../include/kernel/tests/bump_frame_allocator.hpp | 32 --------------------- kernel/include/kernel/tests/cpu.hpp | 18 ------------ kernel/include/kernel/tests/log_buffer.hpp | 32 --------------------- kernel/include/kernel/tests/page_mapper.hpp | 33 ---------------------- kernel/include/kernel/tests/simulated_memory.hpp | 27 ------------------ 10 files changed, 142 insertions(+), 142 deletions(-) create mode 100644 kernel/include/kernel/test_support/bump_frame_allocator.hpp create mode 100644 kernel/include/kernel/test_support/cpu.hpp create mode 100644 kernel/include/kernel/test_support/log_buffer.hpp create mode 100644 kernel/include/kernel/test_support/page_mapper.hpp create mode 100644 kernel/include/kernel/test_support/simulated_memory.hpp delete mode 100644 kernel/include/kernel/tests/bump_frame_allocator.hpp delete mode 100644 kernel/include/kernel/tests/cpu.hpp delete mode 100644 kernel/include/kernel/tests/log_buffer.hpp delete mode 100644 kernel/include/kernel/tests/page_mapper.hpp delete mode 100644 kernel/include/kernel/tests/simulated_memory.hpp (limited to 'kernel/include') diff --git a/kernel/include/kernel/test_support/bump_frame_allocator.hpp b/kernel/include/kernel/test_support/bump_frame_allocator.hpp new file mode 100644 index 0000000..5203565 --- /dev/null +++ b/kernel/include/kernel/test_support/bump_frame_allocator.hpp @@ -0,0 +1,32 @@ +#ifndef TEACHOS_KERNEL_TEST_SUPPORT_BUMP_FRAME_ALLOCATOR_HPP +#define TEACHOS_KERNEL_TEST_SUPPORT_BUMP_FRAME_ALLOCATOR_HPP + +#include "kapi/memory.hpp" + +#include +#include +#include + +namespace kernel::tests +{ + + struct bump_frame_allocator : kapi::memory::frame_allocator + { + auto mark_used(kapi::memory::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{kapi::memory::frame{start}, count}; + } + + auto release_many(std::pair) -> void override {} + + std::size_t next_free_frame{}; + }; + +} // namespace kernel::tests + +#endif \ No newline at end of file diff --git a/kernel/include/kernel/test_support/cpu.hpp b/kernel/include/kernel/test_support/cpu.hpp new file mode 100644 index 0000000..5445473 --- /dev/null +++ b/kernel/include/kernel/test_support/cpu.hpp @@ -0,0 +1,18 @@ +#ifndef TEACHOS_KERNEL_TEST_SUPPORT_CPU_HPP +#define TEACHOS_KERNEL_TEST_SUPPORT_CPU_HPP + +#include + +namespace kernel::tests::cpu +{ + + struct halt : std::runtime_error + { + halt() + : std::runtime_error{"CPU halt requested!"} + {} + }; + +} // namespace kernel::tests::cpu + +#endif \ No newline at end of file diff --git a/kernel/include/kernel/test_support/log_buffer.hpp b/kernel/include/kernel/test_support/log_buffer.hpp new file mode 100644 index 0000000..581b32f --- /dev/null +++ b/kernel/include/kernel/test_support/log_buffer.hpp @@ -0,0 +1,32 @@ +#ifndef KERNEL_TEST_SUPPORT_LOG_BUFFER_HPP +#define KERNEL_TEST_SUPPORT_LOG_BUFFER_HPP + +#include +#include + +namespace kernel::tests::log_buffer +{ + + //! Append a message to the testing log buffer. + //! + //! @param message The message to append. + auto append(std::string const & message) -> void; + + //! Clear the testing log buffer. + auto clear() -> void; + + //! Get the testing log buffer as a single string. + //! + //! @return The testing log buffer as a single string. + auto flat_messages() -> std::string; + + //! Get the testing log buffer. + //! + //! @note Messages may be split across multiple entries if they are longer than the internal kernel print buffer size. + //! + //! @return The testing log buffer. + auto messages() -> std::vector const &; + +} // namespace kernel::tests::log_buffer + +#endif \ No newline at end of file diff --git a/kernel/include/kernel/test_support/page_mapper.hpp b/kernel/include/kernel/test_support/page_mapper.hpp new file mode 100644 index 0000000..a40aa2e --- /dev/null +++ b/kernel/include/kernel/test_support/page_mapper.hpp @@ -0,0 +1,33 @@ +#ifndef TEACHOS_KERNEL_TEST_SUPPORT_PAGE_MAPPER_HPP +#define TEACHOS_KERNEL_TEST_SUPPORT_PAGE_MAPPER_HPP + +#include "kapi/memory.hpp" + +#include "kernel/test_support/simulated_memory.hpp" + +#include + +#include +#include +#include + +namespace kernel::tests +{ + + struct page_mapper : kapi::memory::page_mapper + { + explicit page_mapper(kstd::units::bytes memory_size); + + auto map(kapi::memory::page page, kapi::memory::frame frame, flags) -> std::byte * override; + + auto unmap(kapi::memory::page page) -> void override; + + auto try_unmap(kapi::memory::page page) noexcept -> bool override; + + kernel::tests::simulated_memory memory; + std::unordered_map page_mappings; + }; + +} // namespace kernel::tests + +#endif \ No newline at end of file diff --git a/kernel/include/kernel/test_support/simulated_memory.hpp b/kernel/include/kernel/test_support/simulated_memory.hpp new file mode 100644 index 0000000..fed9f43 --- /dev/null +++ b/kernel/include/kernel/test_support/simulated_memory.hpp @@ -0,0 +1,27 @@ +#ifndef TEACHOS_KERNEL_TEST_SUPPORT_SIMULATED_MEMORY_HPP +#define TEACHOS_KERNEL_TEST_SUPPORT_SIMULATED_MEMORY_HPP + +#include + +#include +#include + +namespace kernel::tests +{ + + struct simulated_memory + { + explicit simulated_memory(kstd::units::bytes size); + + auto clear() -> void; + + auto ram_base() noexcept -> std::byte *; + [[nodiscard]] auto ram_base() const noexcept -> std::byte const *; + + private: + std::vector m_memory; + }; + +} // namespace kernel::tests + +#endif \ No newline at end of file diff --git a/kernel/include/kernel/tests/bump_frame_allocator.hpp b/kernel/include/kernel/tests/bump_frame_allocator.hpp deleted file mode 100644 index 8344423..0000000 --- a/kernel/include/kernel/tests/bump_frame_allocator.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef TEACHOS_KERNEL_TESTS_BUMP_FRAME_ALLOCATOR_HPP -#define TEACHOS_KERNEL_TESTS_BUMP_FRAME_ALLOCATOR_HPP - -#include "kapi/memory.hpp" - -#include -#include -#include - -namespace kernel::tests -{ - - struct bump_frame_allocator : kapi::memory::frame_allocator - { - auto mark_used(kapi::memory::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{kapi::memory::frame{start}, count}; - } - - auto release_many(std::pair) -> void override {} - - std::size_t next_free_frame{}; - }; - -} // namespace kernel::tests - -#endif \ No newline at end of file diff --git a/kernel/include/kernel/tests/cpu.hpp b/kernel/include/kernel/tests/cpu.hpp deleted file mode 100644 index 81c0c6f..0000000 --- a/kernel/include/kernel/tests/cpu.hpp +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef TEACHOS_KERNEL_TESTS_CPU_HPP -#define TEACHOS_KERNEL_TESTS_CPU_HPP - -#include - -namespace kernel::tests::cpu -{ - - struct halt : std::runtime_error - { - halt() - : std::runtime_error{"CPU halt requested!"} - {} - }; - -} // namespace kernel::tests::cpu - -#endif \ No newline at end of file diff --git a/kernel/include/kernel/tests/log_buffer.hpp b/kernel/include/kernel/tests/log_buffer.hpp deleted file mode 100644 index 5f2a1a7..0000000 --- a/kernel/include/kernel/tests/log_buffer.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef KERNEL_TESTS_LOG_BUFFER_HPP -#define KERNEL_TESTS_LOG_BUFFER_HPP - -#include -#include - -namespace kernel::tests::log_buffer -{ - - //! Append a message to the testing log buffer. - //! - //! @param message The message to append. - auto append(std::string const & message) -> void; - - //! Clear the testing log buffer. - auto clear() -> void; - - //! Get the testing log buffer as a single string. - //! - //! @return The testing log buffer as a single string. - auto flat_messages() -> std::string; - - //! Get the testing log buffer. - //! - //! @note Messages may be split across multiple entries if they are longer than the internal kernel print buffer size. - //! - //! @return The testing log buffer. - auto messages() -> std::vector const &; - -} // namespace kernel::tests::log_buffer - -#endif \ No newline at end of file diff --git a/kernel/include/kernel/tests/page_mapper.hpp b/kernel/include/kernel/tests/page_mapper.hpp deleted file mode 100644 index 9969976..0000000 --- a/kernel/include/kernel/tests/page_mapper.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef TEACHOS_KERNEL_TESTS_PAGE_MAPPER_HPP -#define TEACHOS_KERNEL_TESTS_PAGE_MAPPER_HPP - -#include "kapi/memory.hpp" - -#include "kernel/tests/simulated_memory.hpp" - -#include - -#include -#include -#include - -namespace kernel::tests -{ - - struct page_mapper : kapi::memory::page_mapper - { - explicit page_mapper(kstd::units::bytes memory_size); - - auto map(kapi::memory::page page, kapi::memory::frame frame, flags) -> std::byte * override; - - auto unmap(kapi::memory::page page) -> void override; - - auto try_unmap(kapi::memory::page page) noexcept -> bool override; - - kernel::tests::simulated_memory memory; - std::unordered_map page_mappings; - }; - -} // namespace kernel::tests - -#endif \ No newline at end of file diff --git a/kernel/include/kernel/tests/simulated_memory.hpp b/kernel/include/kernel/tests/simulated_memory.hpp deleted file mode 100644 index 446d558..0000000 --- a/kernel/include/kernel/tests/simulated_memory.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef TEACHOS_KERNEL_TESTS_SIMULATED_MEMORY_HPP -#define TEACHOS_KERNEL_TESTS_SIMULATED_MEMORY_HPP - -#include - -#include -#include - -namespace kernel::tests -{ - - struct simulated_memory - { - explicit simulated_memory(kstd::units::bytes size); - - auto clear() -> void; - - auto ram_base() noexcept -> std::byte *; - [[nodiscard]] auto ram_base() const noexcept -> std::byte const *; - - private: - std::vector m_memory; - }; - -} // namespace kernel::tests - -#endif \ No newline at end of file -- cgit v1.2.3