aboutsummaryrefslogtreecommitdiff
path: root/kernel/CMakeLists.txt
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/CMakeLists.txt
parent0369fb7c4baa543dfb36ebb39ab53ac7560994ba (diff)
downloadteachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.tar.xz
teachos-1f652b8b5ca5dbea588975466801cb1479f3dda8.zip
kernel/tests: dissolve tests into source tree
Diffstat (limited to 'kernel/CMakeLists.txt')
-rw-r--r--kernel/CMakeLists.txt42
1 files changed, 41 insertions, 1 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()