aboutsummaryrefslogtreecommitdiff
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
parent0369fb7c4baa543dfb36ebb39ab53ac7560994ba (diff)
downloadteachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.tar.xz
teachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.zip
kernel/tests: dissolve tests into source tree
-rw-r--r--.clangd2
-rw-r--r--kernel/CMakeLists.txt42
-rw-r--r--kernel/include/kernel/tests/cpu.hpp (renamed from kernel/tests/include/kernel/tests/cpu.hpp)0
-rw-r--r--kernel/include/kernel/tests/log_buffer.hpp (renamed from kernel/tests/include/kernel/tests/log_buffer.hpp)0
-rw-r--r--kernel/include/kernel/tests/simulated_memory.hpp (renamed from kernel/tests/include/kernel/tests/simulated_memory.hpp)0
-rw-r--r--kernel/kapi/cpu.tests.cpp19
-rw-r--r--kernel/kapi/system.tests.cpp (renamed from kernel/tests/src/test_support.tests.cpp)23
-rw-r--r--kernel/kstd/print.tests.cpp23
-rw-r--r--kernel/src/main.tests.cpp (renamed from kernel/tests/src/main.cpp)0
-rw-r--r--kernel/src/test_support/kapi/cio.cpp (renamed from kernel/tests/kapi/cio.cpp)0
-rw-r--r--kernel/src/test_support/kapi/cpu.cpp (renamed from kernel/tests/kapi/cpu.cpp)0
-rw-r--r--kernel/src/test_support/kapi/interrupts.cpp (renamed from kernel/tests/kapi/interrupts.cpp)0
-rw-r--r--kernel/src/test_support/kapi/memory.cpp (renamed from kernel/tests/kapi/memory.cpp)0
-rw-r--r--kernel/src/test_support/log_buffer.cpp (renamed from kernel/tests/src/log_buffer.cpp)0
-rw-r--r--kernel/src/test_support/simulated_memory.cpp (renamed from kernel/tests/src/simulated_memory.cpp)0
-rw-r--r--kernel/tests/CMakeLists.txt64
16 files changed, 85 insertions, 88 deletions
diff --git a/.clangd b/.clangd
index 71ee568..fac5c82 100644
--- a/.clangd
+++ b/.clangd
@@ -11,7 +11,7 @@ Documentation:
If:
PathMatch:
- "libs/.*/tests/.*\\.cpp"
- - "kernel/tests/.*\\.cpp"
+ - "kernel/.*\\.tests.cpp"
Diagnostics:
ClangTidy:
Remove: "*"
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
index 854fb33..d6b3a1b 100644
--- a/kernel/CMakeLists.txt
+++ b/kernel/CMakeLists.txt
@@ -87,6 +87,46 @@ if(CMAKE_CROSSCOMPILING)
target_generate_bootable_iso("kernel")
else()
enable_coverage("kernel_objs")
- add_subdirectory("tests")
+
+ add_library("kernel_test_support"
+ "src/test_support/kapi/cpu.cpp"
+ "src/test_support/kapi/cio.cpp"
+ "src/test_support/kapi/interrupts.cpp"
+ "src/test_support/kapi/memory.cpp"
+ "src/test_support/log_buffer.cpp"
+ "src/test_support/simulated_memory.cpp"
+ )
+ add_library("os::kernel_test_support" ALIAS "kernel_test_support")
+
+ target_link_libraries("kernel_test_support" PUBLIC
+ "os::kernel"
+ "Catch2::Catch2"
+ )
+
+ add_executable("kernel_tests"
+ # KAPI Shim Tests
+ "kapi/cpu.tests.cpp"
+ "kapi/system.tests.cpp"
+
+ # KSTD Shim Tests
+ "kstd/print.tests.cpp"
+
+ # Test Executable Main
+ "src/main.tests.cpp"
+ )
+ add_executable("os::kernel_tests" ALIAS "kernel_tests")
+
+ target_link_libraries("kernel_tests" PRIVATE
+ "os::kernel_test_support"
+ )
+
+ set_target_properties("kernel_tests" PROPERTIES
+ C_CLANG_TIDY ""
+ CXX_CLANG_TIDY ""
+ EXCLUDE_FROM_ALL NO
+ )
+
+ enable_coverage("kernel_tests")
+ catch_discover_tests("os::kernel_tests")
endif()
diff --git a/kernel/tests/include/kernel/tests/cpu.hpp b/kernel/include/kernel/tests/cpu.hpp
index 81c0c6f..81c0c6f 100644
--- a/kernel/tests/include/kernel/tests/cpu.hpp
+++ b/kernel/include/kernel/tests/cpu.hpp
diff --git a/kernel/tests/include/kernel/tests/log_buffer.hpp b/kernel/include/kernel/tests/log_buffer.hpp
index 5f2a1a7..5f2a1a7 100644
--- a/kernel/tests/include/kernel/tests/log_buffer.hpp
+++ b/kernel/include/kernel/tests/log_buffer.hpp
diff --git a/kernel/tests/include/kernel/tests/simulated_memory.hpp b/kernel/include/kernel/tests/simulated_memory.hpp
index 156b1e1..156b1e1 100644
--- a/kernel/tests/include/kernel/tests/simulated_memory.hpp
+++ b/kernel/include/kernel/tests/simulated_memory.hpp
diff --git a/kernel/kapi/cpu.tests.cpp b/kernel/kapi/cpu.tests.cpp
new file mode 100644
index 0000000..6fe026b
--- /dev/null
+++ b/kernel/kapi/cpu.tests.cpp
@@ -0,0 +1,19 @@
+#include "kapi/cpu.hpp"
+
+#include "kernel/tests/cpu.hpp"
+
+#include <catch2/catch_test_macros.hpp>
+
+SCENARIO("Kernel testing kapi::cpu shims", "[support]")
+{
+ GIVEN("the test support infrastructure is initialized")
+ {
+ WHEN("a CPU halt is requested")
+ {
+ THEN("the correct exception is thrown")
+ {
+ REQUIRE_THROWS_AS(kapi::cpu::halt(), kernel::tests::cpu::halt);
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/kernel/tests/src/test_support.tests.cpp b/kernel/kapi/system.tests.cpp
index f835e65..c130b54 100644
--- a/kernel/tests/src/test_support.tests.cpp
+++ b/kernel/kapi/system.tests.cpp
@@ -1,4 +1,3 @@
-#include "kapi/cpu.hpp"
#include "kapi/system.hpp"
#include "kernel/tests/cpu.hpp"
@@ -8,18 +7,10 @@
#include <catch2/catch_test_macros.hpp>
-SCENARIO("Kernel test support infrastructure", "[support]")
+SCENARIO("Kernel testing kapi::system shims", "[support]")
{
GIVEN("the test support infrastructure is initialized")
{
- WHEN("a CPU halt is requested")
- {
- THEN("the correct exception is thrown")
- {
- REQUIRE_THROWS_AS(kapi::cpu::halt(), kernel::tests::cpu::halt);
- }
- }
-
WHEN("a the system panics")
{
kernel::tests::log_buffer::clear();
@@ -35,17 +26,5 @@ SCENARIO("Kernel test support infrastructure", "[support]")
REQUIRE(kernel::tests::log_buffer::flat_messages().contains("[kernel:tests] Test Panic"));
}
}
-
- WHEN("a regular print is issued")
- {
- kernel::tests::log_buffer::clear();
-
- kstd::println("[kernel:tests] Test Print");
-
- THEN("the message is appended to the log buffer")
- {
- REQUIRE(kernel::tests::log_buffer::flat_messages().contains("[kernel:tests] Test Print"));
- }
- }
}
} \ No newline at end of file
diff --git a/kernel/kstd/print.tests.cpp b/kernel/kstd/print.tests.cpp
new file mode 100644
index 0000000..2ab829c
--- /dev/null
+++ b/kernel/kstd/print.tests.cpp
@@ -0,0 +1,23 @@
+#include "kstd/print"
+
+#include "kernel/tests/log_buffer.hpp"
+
+#include <catch2/catch_test_macros.hpp>
+
+SCENARIO("Kernel testing kstd shims", "[support]")
+{
+ GIVEN("the test support infrastructure is initialized")
+ {
+ WHEN("a regular print is issued")
+ {
+ kernel::tests::log_buffer::clear();
+
+ kstd::println("[kernel:tests] Test Print");
+
+ THEN("the message is appended to the log buffer")
+ {
+ REQUIRE(kernel::tests::log_buffer::flat_messages().contains("[kernel:tests] Test Print"));
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/kernel/tests/src/main.cpp b/kernel/src/main.tests.cpp
index b3ae142..b3ae142 100644
--- a/kernel/tests/src/main.cpp
+++ b/kernel/src/main.tests.cpp
diff --git a/kernel/tests/kapi/cio.cpp b/kernel/src/test_support/kapi/cio.cpp
index 6359fa8..6359fa8 100644
--- a/kernel/tests/kapi/cio.cpp
+++ b/kernel/src/test_support/kapi/cio.cpp
diff --git a/kernel/tests/kapi/cpu.cpp b/kernel/src/test_support/kapi/cpu.cpp
index 3ecaadc..3ecaadc 100644
--- a/kernel/tests/kapi/cpu.cpp
+++ b/kernel/src/test_support/kapi/cpu.cpp
diff --git a/kernel/tests/kapi/interrupts.cpp b/kernel/src/test_support/kapi/interrupts.cpp
index 0077266..0077266 100644
--- a/kernel/tests/kapi/interrupts.cpp
+++ b/kernel/src/test_support/kapi/interrupts.cpp
diff --git a/kernel/tests/kapi/memory.cpp b/kernel/src/test_support/kapi/memory.cpp
index 6de2f60..6de2f60 100644
--- a/kernel/tests/kapi/memory.cpp
+++ b/kernel/src/test_support/kapi/memory.cpp
diff --git a/kernel/tests/src/log_buffer.cpp b/kernel/src/test_support/log_buffer.cpp
index 9e30afb..9e30afb 100644
--- a/kernel/tests/src/log_buffer.cpp
+++ b/kernel/src/test_support/log_buffer.cpp
diff --git a/kernel/tests/src/simulated_memory.cpp b/kernel/src/test_support/simulated_memory.cpp
index 9a9b354..9a9b354 100644
--- a/kernel/tests/src/simulated_memory.cpp
+++ b/kernel/src/test_support/simulated_memory.cpp
diff --git a/kernel/tests/CMakeLists.txt b/kernel/tests/CMakeLists.txt
deleted file mode 100644
index 0855520..0000000
--- a/kernel/tests/CMakeLists.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-#[============================================================================[
-# Kernel Test Support (Fakes, Stubs, Mocks, etc.)
-#]============================================================================]
-
-add_library("kernel_test_support"
- "kapi/cio.cpp"
- "kapi/cpu.cpp"
- "kapi/interrupts.cpp"
- "kapi/memory.cpp"
-
- "src/log_buffer.cpp"
- "src/main.cpp"
- "src/simulated_memory.cpp"
-)
-
-file(GLOB_RECURSE KERNEL_TEST_SUPPORT_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "include/**.hpp")
-
-target_sources("kernel_test_support" PUBLIC
- FILE_SET HEADERS
- BASE_DIRS "include"
- FILES
- ${KERNEL_TEST_SUPPORT_HEADERS}
-)
-
-target_include_directories("kernel_test_support" PUBLIC
- "include"
-)
-
-target_link_libraries("kernel_test_support" PUBLIC
- "os::kapi"
- "os::kernel"
- "Catch2::Catch2"
-)
-
-add_library("os::kernel_test_support" ALIAS "kernel_test_support")
-
-#[============================================================================[
-# Kernel Tests
-#]============================================================================]
-
-add_executable("kernel_tests"
- "src/test_support.tests.cpp"
-)
-
-target_include_directories("kernel_tests" PRIVATE
- "include"
-)
-
-target_link_libraries("kernel_tests" PRIVATE
- "os::kernel_test_support"
- "libs::kstd"
-)
-
-set_target_properties("kernel_tests" PROPERTIES
- C_CLANG_TIDY ""
- CXX_CLANG_TIDY ""
- EXCLUDE_FROM_ALL NO
-)
-
-enable_coverage("kernel_tests")
-
-add_executable("os::kernel_tests" ALIAS "kernel_tests")
-
-catch_discover_tests("os::kernel_tests") \ No newline at end of file