aboutsummaryrefslogtreecommitdiff
path: root/kernel/include
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-01 12:15:25 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-01 12:15:25 +0200
commit1f652b8b5ca5dbea588975466801cb1479f3dda8 (patch)
tree2852f1d7cc6d33d0cb06c66fcfcf8c03dac2a112 /kernel/include
parent0369fb7c4baa543dfb36ebb39ab53ac7560994ba (diff)
downloadteachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.tar.xz
teachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.zip
kernel/tests: dissolve tests into source tree
Diffstat (limited to 'kernel/include')
-rw-r--r--kernel/include/kernel/tests/cpu.hpp18
-rw-r--r--kernel/include/kernel/tests/log_buffer.hpp32
-rw-r--r--kernel/include/kernel/tests/simulated_memory.hpp19
3 files changed, 69 insertions, 0 deletions
diff --git a/kernel/include/kernel/tests/cpu.hpp b/kernel/include/kernel/tests/cpu.hpp
new file mode 100644
index 0000000..81c0c6f
--- /dev/null
+++ b/kernel/include/kernel/tests/cpu.hpp
@@ -0,0 +1,18 @@
+#ifndef TEACHOS_KERNEL_TESTS_CPU_HPP
+#define TEACHOS_KERNEL_TESTS_CPU_HPP
+
+#include <stdexcept>
+
+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
new file mode 100644
index 0000000..5f2a1a7
--- /dev/null
+++ b/kernel/include/kernel/tests/log_buffer.hpp
@@ -0,0 +1,32 @@
+#ifndef KERNEL_TESTS_LOG_BUFFER_HPP
+#define KERNEL_TESTS_LOG_BUFFER_HPP
+
+#include <string>
+#include <vector>
+
+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<std::string> const &;
+
+} // namespace kernel::tests::log_buffer
+
+#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
new file mode 100644
index 0000000..156b1e1
--- /dev/null
+++ b/kernel/include/kernel/tests/simulated_memory.hpp
@@ -0,0 +1,19 @@
+#ifndef TEACHOS_KERNEL_TESTS_SIMULATED_MEMORY_HPP
+#define TEACHOS_KERNEL_TESTS_SIMULATED_MEMORY_HPP
+
+#include <kstd/units>
+
+#include <cstddef>
+
+namespace kernel::tests::simulated_memory
+{
+
+ auto init(kstd::units::bytes size) -> void;
+
+ auto pmm_metadata_base() -> std::byte *;
+
+ auto ram_base() -> std::byte *;
+
+} // namespace kernel::tests::simulated_memory
+
+#endif \ No newline at end of file