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 /kernel | |
| parent | 0369fb7c4baa543dfb36ebb39ab53ac7560994ba (diff) | |
| download | teachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.tar.xz teachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.zip | |
kernel/tests: dissolve tests into source tree
Diffstat (limited to 'kernel')
| -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 |
15 files changed, 84 insertions, 87 deletions
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 |
