diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-09 20:27:04 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-09 20:27:04 +0100 |
| commit | eff8d43479e7704df65fae2a80eefa787213f502 (patch) | |
| tree | 76f2fb8fe8d3db2c15179449df2cf12f7f54e0bf /CMakeLists.txt | |
| parent | 12378b1b7e9091ba59895b4360b2fa959180a56a (diff) | |
refactor: Reorganize tests into subsystem subdirectories
Restructured test suite for better organization and targeted testing:
**Structure:**
- src/tests/audio/ - 15 audio system tests
- src/tests/gpu/ - 12 GPU/shader tests
- src/tests/3d/ - 6 3D rendering tests
- src/tests/assets/ - 2 asset system tests
- src/tests/util/ - 3 utility tests
- src/tests/common/ - 3 shared test helpers
- src/tests/scripts/ - 2 bash test scripts (moved conceptually, not physically)
**CMake changes:**
- Updated add_demo_test macro to accept LABEL parameter
- Applied CTest labels to all 36 tests for subsystem filtering
- Updated all test file paths in CMakeLists.txt
- Fixed common helper paths (webgpu_test_fixture, etc.)
- Added custom targets for subsystem testing:
- run_audio_tests, run_gpu_tests, run_3d_tests
- run_assets_tests, run_util_tests, run_all_tests
**Include path updates:**
- Fixed relative includes in GPU tests to reference ../common/
**Documentation:**
- Updated doc/HOWTO.md with subsystem test commands
- Updated doc/CONTRIBUTING.md with new test organization
- Updated scripts/check_all.sh to reflect new structure
**Verification:**
- All 36 tests passing (100%)
- ctest -L <subsystem> filters work correctly
- make run_<subsystem>_tests targets functional
- scripts/check_all.sh passes
Backward compatible: make test and ctest continue to work unchanged.
handoff(Gemini): Test reorganization complete. 36/36 tests passing.
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 160 |
1 files changed, 105 insertions, 55 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ede06ee..ee3dfc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,21 @@ endif() parse_workspace_config("${WORKSPACE_DIR}") message(STATUS "Using workspace: ${DEMO_WORKSPACE}") +#-- - Configuration Summary -- - +message(STATUS "") +message(STATUS "Build Configuration:") +message(STATUS " DEMO_SIZE_OPT: ${DEMO_SIZE_OPT}") +message(STATUS " DEMO_STRIP_ALL: ${DEMO_STRIP_ALL}") +message(STATUS " DEMO_FINAL_STRIP: ${DEMO_FINAL_STRIP}") +message(STATUS " DEMO_STRIP_EXTERNAL_LIBS: ${DEMO_STRIP_EXTERNAL_LIBS}") +message(STATUS " DEMO_BUILD_TESTS: ${DEMO_BUILD_TESTS}") +message(STATUS " DEMO_BUILD_TOOLS: ${DEMO_BUILD_TOOLS}") +message(STATUS " DEMO_ENABLE_COVERAGE: ${DEMO_ENABLE_COVERAGE}") +message(STATUS " DEMO_ENABLE_DEBUG_LOGS: ${DEMO_ENABLE_DEBUG_LOGS}") +message(STATUS " DEMO_HEADLESS: ${DEMO_HEADLESS}") +message(STATUS " DEMO_WORKSPACE: ${DEMO_WORKSPACE}") +message(STATUS "") + #-- - Platform Detection and Core Setup -- - if(APPLE) add_definitions(-DGLFW_EXPOSE_NATIVE_COCOA) @@ -360,9 +375,10 @@ macro(add_demo_executable NAME) # target_link_libraries must be called manually to ensure correct order endmacro() -macro(add_demo_test NAME TEST_NAME) +macro(add_demo_test NAME TEST_NAME LABEL) add_executable(${NAME} ${ARGN}) add_test(NAME ${TEST_NAME} COMMAND ${NAME}) + set_tests_properties(${TEST_NAME} PROPERTIES LABELS "${LABEL}") endmacro() #-- - Generation Targets -- - @@ -531,143 +547,144 @@ endif() #-- - Tests -- - enable_testing() if(DEMO_BUILD_TESTS) - add_demo_test(test_window HammingWindowTest src/tests/test_window.cc ${GEN_DEMO_CC}) + add_demo_test(test_window HammingWindowTest audio src/tests/audio/test_window.cc ${GEN_DEMO_CC}) target_link_libraries(test_window PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_window generate_demo_assets) - add_demo_test(test_maths MathUtilsTest src/tests/test_maths.cc) + add_demo_test(test_maths MathUtilsTest util src/tests/util/test_maths.cc) - add_demo_test(test_file_watcher FileWatcherTest src/tests/test_file_watcher.cc) + add_demo_test(test_file_watcher FileWatcherTest util src/tests/util/test_file_watcher.cc) target_link_libraries(test_file_watcher PRIVATE util ${DEMO_LIBS}) - add_demo_test(test_synth SynthEngineTest src/tests/test_synth.cc ${GEN_DEMO_CC}) + add_demo_test(test_synth SynthEngineTest audio src/tests/audio/test_synth.cc ${GEN_DEMO_CC}) target_link_libraries(test_synth PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_synth generate_demo_assets) - add_demo_test(test_dct DctTest src/tests/test_dct.cc ${GEN_DEMO_CC}) + add_demo_test(test_dct DctTest audio src/tests/audio/test_dct.cc ${GEN_DEMO_CC}) target_link_libraries(test_dct PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_dct generate_demo_assets) - add_demo_test(test_fft FftTest src/tests/test_fft.cc ${GEN_DEMO_CC}) + add_demo_test(test_fft FftTest audio src/tests/audio/test_fft.cc ${GEN_DEMO_CC}) target_link_libraries(test_fft PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_fft generate_demo_assets) - add_demo_test(test_spectral_brush SpectralBrushTest src/tests/test_spectral_brush.cc ${GEN_DEMO_CC}) + add_demo_test(test_spectral_brush SpectralBrushTest audio src/tests/audio/test_spectral_brush.cc ${GEN_DEMO_CC}) target_link_libraries(test_spectral_brush PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_spectral_brush generate_demo_assets) - add_demo_test(test_audio_gen AudioGenTest src/tests/test_audio_gen.cc ${GEN_DEMO_CC}) + add_demo_test(test_audio_gen AudioGenTest audio src/tests/audio/test_audio_gen.cc ${GEN_DEMO_CC}) target_link_libraries(test_audio_gen PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_audio_gen generate_demo_assets) - add_demo_test(test_audio_backend AudioBackendTest src/tests/test_audio_backend.cc ${GEN_DEMO_CC}) + add_demo_test(test_audio_backend AudioBackendTest audio src/tests/audio/test_audio_backend.cc ${GEN_DEMO_CC}) target_link_libraries(test_audio_backend PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_audio_backend generate_demo_assets) - add_demo_test(test_silent_backend SilentBackendTest src/tests/test_silent_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_test(test_silent_backend SilentBackendTest audio src/tests/audio/test_silent_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_silent_backend PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_silent_backend generate_demo_assets generate_tracker_music) - add_demo_test(test_mock_backend MockAudioBackendTest src/tests/test_mock_backend.cc src/audio/backend/mock_audio_backend.cc ${GEN_DEMO_CC}) + add_demo_test(test_mock_backend MockAudioBackendTest audio src/tests/audio/test_mock_backend.cc src/audio/backend/mock_audio_backend.cc ${GEN_DEMO_CC}) target_link_libraries(test_mock_backend PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_mock_backend generate_demo_assets) - add_demo_test(test_wav_dump WavDumpBackendTest src/tests/test_wav_dump.cc src/audio/backend/wav_dump_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_test(test_wav_dump WavDumpBackendTest audio src/tests/audio/test_wav_dump.cc src/audio/backend/wav_dump_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_wav_dump PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_wav_dump generate_demo_assets generate_tracker_music) - add_demo_test(test_jittered_audio JitteredAudioBackendTest src/tests/test_jittered_audio.cc src/audio/backend/jittered_audio_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_test(test_jittered_audio JitteredAudioBackendTest audio src/tests/audio/test_jittered_audio.cc src/audio/backend/jittered_audio_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_jittered_audio PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_jittered_audio generate_demo_assets generate_tracker_music) - add_demo_test(test_tracker_timing TrackerTimingTest src/tests/test_tracker_timing.cc src/audio/backend/mock_audio_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_test(test_tracker_timing TrackerTimingTest audio src/tests/audio/test_tracker_timing.cc src/audio/backend/mock_audio_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_tracker_timing PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_tracker_timing generate_demo_assets generate_tracker_music) - add_demo_test(test_variable_tempo VariableTempoTest src/tests/test_variable_tempo.cc src/audio/backend/mock_audio_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_test(test_variable_tempo VariableTempoTest audio src/tests/audio/test_variable_tempo.cc src/audio/backend/mock_audio_backend.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_variable_tempo PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_variable_tempo generate_demo_assets generate_tracker_music) - add_demo_test(test_tracker TrackerSystemTest src/tests/test_tracker.cc ${GEN_DEMO_CC} ${GENERATED_TEST_DEMO_MUSIC_CC}) + add_demo_test(test_tracker TrackerSystemTest audio src/tests/audio/test_tracker.cc ${GEN_DEMO_CC} ${GENERATED_TEST_DEMO_MUSIC_CC}) target_link_libraries(test_tracker PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_tracker generate_demo_assets generate_test_demo_music) - add_demo_test(test_audio_engine AudioEngineTest src/tests/test_audio_engine.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_test(test_audio_engine AudioEngineTest audio src/tests/audio/test_audio_engine.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_audio_engine PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_audio_engine generate_demo_assets generate_tracker_music) - add_demo_test(test_shader_assets ShaderAssetValidation src/tests/test_shader_assets.cc ${GEN_DEMO_CC}) + add_demo_test(test_shader_assets ShaderAssetValidation gpu src/tests/gpu/test_shader_assets.cc ${GEN_DEMO_CC}) target_link_libraries(test_shader_assets PRIVATE util procedural ${DEMO_LIBS}) add_dependencies(test_shader_assets generate_demo_assets) - add_demo_test(test_shader_compilation ShaderCompilationTest src/tests/test_shader_compilation.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) + add_demo_test(test_shader_compilation ShaderCompilationTest gpu src/tests/gpu/test_shader_compilation.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) target_link_libraries(test_shader_compilation PRIVATE gpu util procedural ${DEMO_LIBS}) add_dependencies(test_shader_compilation generate_demo_assets) - add_demo_test(test_noise_functions NoiseFunctionsTest src/tests/test_noise_functions.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) + add_demo_test(test_noise_functions NoiseFunctionsTest gpu src/tests/gpu/test_noise_functions.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) target_link_libraries(test_noise_functions PRIVATE gpu util procedural ${DEMO_LIBS}) add_dependencies(test_noise_functions generate_demo_assets) - add_demo_test(test_uniform_helper UniformHelperTest src/tests/test_uniform_helper.cc) + add_demo_test(test_uniform_helper UniformHelperTest gpu src/tests/gpu/test_uniform_helper.cc) target_link_libraries(test_uniform_helper PRIVATE gpu util ${DEMO_LIBS}) - add_demo_executable(test_spectool src/tests/test_spectool.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_executable(test_spectool src/tests/gpu/test_spectool.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_compile_definitions(test_spectool PRIVATE DEMO_BUILD_TOOLS) target_link_libraries(test_spectool PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_spectool generate_tracker_music generate_demo_assets) - add_demo_test(test_assets AssetManagerTest src/tests/test_assets.cc ${GEN_TEST_CC}) + add_demo_test(test_assets AssetManagerTest assets src/tests/assets/test_assets.cc ${GEN_TEST_CC}) target_include_directories(test_assets PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/generated_test) target_compile_definitions(test_assets PRIVATE USE_TEST_ASSETS) target_link_libraries(test_assets PRIVATE util procedural ${DEMO_LIBS}) add_dependencies(test_assets generate_test_assets) - set_source_files_properties(src/tests/test_assets.cc PROPERTIES COMPILE_DEFINITIONS "USE_TEST_ASSETS") + set_source_files_properties(src/tests/assets/test_assets.cc PROPERTIES COMPILE_DEFINITIONS "USE_TEST_ASSETS") - add_demo_test(test_sequence SequenceSystemTest src/tests/test_sequence.cc ${GEN_DEMO_CC} ${GENERATED_TIMELINE_CC} ${PLATFORM_SOURCES}) + add_demo_test(test_sequence SequenceSystemTest assets src/tests/assets/test_sequence.cc ${GEN_DEMO_CC} ${GENERATED_TIMELINE_CC} ${PLATFORM_SOURCES}) target_link_libraries(test_sequence PRIVATE 3d gpu util procedural ${DEMO_LIBS}) add_dependencies(test_sequence generate_timeline generate_demo_assets) - add_demo_test(test_procedural ProceduralGenTest src/tests/test_procedural.cc) + add_demo_test(test_procedural ProceduralGenTest util src/tests/util/test_procedural.cc) target_link_libraries(test_procedural PRIVATE procedural ${DEMO_LIBS}) - add_demo_test(test_physics PhysicsTest src/tests/test_physics.cc) + add_demo_test(test_physics PhysicsTest 3d src/tests/3d/test_physics.cc) target_link_libraries(test_physics PRIVATE 3d util procedural ${DEMO_LIBS}) - add_demo_test(test_3d ThreeDSystemTest src/tests/test_3d.cc) + add_demo_test(test_3d ThreeDSystemTest 3d src/tests/3d/test_3d.cc) - add_demo_test(test_shader_composer ShaderComposerTest src/tests/test_shader_composer.cc ${GEN_TEST_CC}) + add_demo_test(test_shader_composer ShaderComposerTest gpu src/tests/gpu/test_shader_composer.cc ${GEN_TEST_CC}) target_compile_definitions(test_shader_composer PRIVATE USE_TEST_ASSETS) target_include_directories(test_shader_composer PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/generated_test ${CORE_INCLUDES}) target_link_libraries(test_shader_composer PRIVATE gpu util procedural ${DEMO_LIBS}) add_dependencies(test_shader_composer generate_test_assets) - add_demo_executable(test_3d_render src/tests/test_3d_render.cc ${PLATFORM_SOURCES} ${GENERATED_TIMELINE_CC} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_executable(test_3d_render src/tests/3d/test_3d_render.cc ${PLATFORM_SOURCES} ${GENERATED_TIMELINE_CC} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_3d_render PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) add_dependencies(test_3d_render generate_timeline generate_demo_assets generate_tracker_music) - add_demo_executable(test_3d_physics src/tests/test_3d_physics.cc ${PLATFORM_SOURCES} ${GENERATED_TIMELINE_CC} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_executable(test_3d_physics src/tests/3d/test_3d_physics.cc ${PLATFORM_SOURCES} ${GENERATED_TIMELINE_CC} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_3d_physics PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) add_dependencies(test_3d_physics generate_timeline generate_demo_assets generate_tracker_music) - add_demo_executable(test_mesh src/tests/test_mesh.cc ${PLATFORM_SOURCES} ${GENERATED_TIMELINE_CC} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) + add_demo_executable(test_mesh src/tests/3d/test_mesh.cc ${PLATFORM_SOURCES} ${GENERATED_TIMELINE_CC} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_mesh PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) add_dependencies(test_mesh generate_timeline generate_demo_assets generate_tracker_music) add_demo_executable(test_platform src/tests/test_platform.cc ${PLATFORM_SOURCES}) target_link_libraries(test_platform PRIVATE util ${DEMO_LIBS}) - add_demo_executable(test_scene_loader src/tests/test_scene_loader.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) + add_demo_executable(test_scene_loader src/tests/3d/test_scene_loader.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) target_link_libraries(test_scene_loader PRIVATE 3d util procedural ${DEMO_LIBS}) add_dependencies(test_scene_loader generate_demo_assets) add_test(NAME SceneLoaderTest COMMAND test_scene_loader) + set_tests_properties(SceneLoaderTest PROPERTIES LABELS "3d") # GPU Effects Test Infrastructure (Phase 1: Foundation) - add_demo_test(test_effect_base EffectBaseTest - src/tests/test_effect_base.cc - src/tests/webgpu_test_fixture.cc - src/tests/offscreen_render_target.cc - src/tests/effect_test_helpers.cc + add_demo_test(test_effect_base EffectBaseTest gpu + src/tests/gpu/test_effect_base.cc + src/tests/common/webgpu_test_fixture.cc + src/tests/common/offscreen_render_target.cc + src/tests/common/effect_test_helpers.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC} ${GENERATED_TIMELINE_CC} @@ -676,11 +693,11 @@ if(DEMO_BUILD_TESTS) add_dependencies(test_effect_base generate_timeline generate_demo_assets generate_tracker_music) # GPU Effects Test Infrastructure (Phase 2.1: Effect Classes) - add_demo_test(test_demo_effects DemoEffectsTest - src/tests/test_demo_effects.cc - src/tests/webgpu_test_fixture.cc - src/tests/offscreen_render_target.cc - src/tests/effect_test_helpers.cc + add_demo_test(test_demo_effects DemoEffectsTest gpu + src/tests/gpu/test_demo_effects.cc + src/tests/common/webgpu_test_fixture.cc + src/tests/common/offscreen_render_target.cc + src/tests/common/effect_test_helpers.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC} ${GENERATED_TIMELINE_CC} @@ -689,35 +706,35 @@ if(DEMO_BUILD_TESTS) add_dependencies(test_demo_effects generate_timeline generate_demo_assets generate_tracker_music) # GPU Effects Test Infrastructure (Phase 2.2: Post-Process Utilities) - add_demo_test(test_post_process_helper PostProcessHelperTest - src/tests/test_post_process_helper.cc - src/tests/webgpu_test_fixture.cc - src/tests/offscreen_render_target.cc + add_demo_test(test_post_process_helper PostProcessHelperTest gpu + src/tests/gpu/test_post_process_helper.cc + src/tests/common/webgpu_test_fixture.cc + src/tests/common/offscreen_render_target.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) target_link_libraries(test_post_process_helper PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) add_dependencies(test_post_process_helper generate_demo_assets) # TextureManager tests - add_demo_test(test_texture_manager TextureManagerTest - src/tests/test_texture_manager.cc - src/tests/webgpu_test_fixture.cc + add_demo_test(test_texture_manager TextureManagerTest gpu + src/tests/gpu/test_texture_manager.cc + src/tests/common/webgpu_test_fixture.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) target_link_libraries(test_texture_manager PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) add_dependencies(test_texture_manager generate_demo_assets) # GPU Procedural Texture Test - add_demo_test(test_gpu_procedural GpuProceduralTest - src/tests/test_gpu_procedural.cc + add_demo_test(test_gpu_procedural GpuProceduralTest gpu + src/tests/gpu/test_gpu_procedural.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) target_link_libraries(test_gpu_procedural PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) add_dependencies(test_gpu_procedural generate_demo_assets) # GPU Composite Texture Test (Phase 4) - add_demo_test(test_gpu_composite GpuCompositeTest - src/tests/test_gpu_composite.cc + add_demo_test(test_gpu_composite GpuCompositeTest gpu + src/tests/gpu/test_gpu_composite.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC}) target_link_libraries(test_gpu_composite PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) @@ -731,6 +748,7 @@ if(DEMO_BUILD_TESTS) ${CMAKE_CURRENT_SOURCE_DIR}/assets/test_gantt.seq ${CMAKE_CURRENT_BINARY_DIR}/test_gantt_output.txt ) + set_tests_properties(GanttOutputTest PROPERTIES LABELS "scripts") # HTML Gantt chart output test add_test( @@ -740,6 +758,38 @@ if(DEMO_BUILD_TESTS) ${CMAKE_CURRENT_SOURCE_DIR}/assets/test_gantt.seq ${CMAKE_CURRENT_BINARY_DIR}/test_gantt_output.html ) + set_tests_properties(GanttHtmlOutputTest PROPERTIES LABELS "scripts") + + # Subsystem test targets + add_custom_target(run_audio_tests + COMMAND ${CMAKE_CTEST_COMMAND} -L audio --output-on-failure + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Running audio subsystem tests...") + + add_custom_target(run_gpu_tests + COMMAND ${CMAKE_CTEST_COMMAND} -L gpu --output-on-failure + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Running GPU subsystem tests...") + + add_custom_target(run_3d_tests + COMMAND ${CMAKE_CTEST_COMMAND} -L 3d --output-on-failure + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Running 3D subsystem tests...") + + add_custom_target(run_assets_tests + COMMAND ${CMAKE_CTEST_COMMAND} -L assets --output-on-failure + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Running asset system tests...") + + add_custom_target(run_util_tests + COMMAND ${CMAKE_CTEST_COMMAND} -L util --output-on-failure + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Running utility tests...") + + add_custom_target(run_all_tests + COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Running all tests...") endif() # Sub-task 7: Integrate validation tool into CI/build system |
