diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-04-01 12:15:25 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-04-01 12:15:25 +0200 |
| commit | 1f652b8b5ca5dbea588975466801cb1479f3dda8 (patch) | |
| tree | 2852f1d7cc6d33d0cb06c66fcfcf8c03dac2a112 | |
| parent | 0369fb7c4baa543dfb36ebb39ab53ac7560994ba (diff) | |
| download | kernel-1f652b8b5ca5dbea588975466801cb1479f3dda8.tar.xz kernel-1f652b8b5ca5dbea588975466801cb1479f3dda8.zip | |
kernel/tests: dissolve tests into source tree
| -rw-r--r-- | .clangd | 2 | ||||
| -rw-r--r-- | kernel/CMakeLists.txt | 42 | ||||
| -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.cpp | 19 | ||||
| -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.cpp | 23 | ||||
| -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.txt | 64 |
16 files changed, 85 insertions, 88 deletions
@@ -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 854fb33a..d6b3a1b0 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 81c0c6fb..81c0c6fb 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 5f2a1a77..5f2a1a77 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 156b1e1d..156b1e1d 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 00000000..6fe026bd --- /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 f835e653..c130b547 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 00000000..2ab829cc --- /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 b3ae142c..b3ae142c 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 6359fa86..6359fa86 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 3ecaadc1..3ecaadc1 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 00772669..00772669 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 6de2f607..6de2f607 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 9e30afbe..9e30afbe 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 9a9b3549..9a9b3549 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 0855520d..00000000 --- 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 |
