From 858f9d5e765bfc8f8f13b38fa0fab790139a0740 Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 7 Feb 2026 10:36:58 +0100 Subject: test(gpu): Add comprehensive TextureManager tests Created automated test suite for texture_manager.cc with 7 test cases: - Basic initialization and shutdown - Create texture from raw RGBA8 data - Create procedural texture (using gen_noise) - Get texture view for non-existent texture (nullptr test) - Create and retrieve multiple textures - Procedural generation failure handling - Shutdown cleanup verification Replaced old compilation-only test with proper automated test using WebGPUTestFixture for headless GPU testing. Registered with CTest as test #27 (TextureManagerTest). Coverage Impact: - Before: texture_manager.cc had 0% coverage (not run by CTest) - After: 100% coverage (64/64 lines, 5/5 functions) All 27 tests pass. Co-Authored-By: Claude Sonnet 4.5 --- CMakeLists.txt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bc41fe..ef072ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -467,10 +467,6 @@ if(DEMO_BUILD_TESTS) add_dependencies(test_shader_composer generate_test_assets) - add_demo_executable(test_texture_manager src/tests/test_texture_manager.cc ${PLATFORM_SOURCES} ${GENERATED_TIMELINE_CC} ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) - target_link_libraries(test_texture_manager PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) - add_dependencies(test_texture_manager generate_timeline generate_demo_assets generate_tracker_music) - add_demo_executable(test_3d_render src/tests/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) @@ -521,6 +517,15 @@ if(DEMO_BUILD_TESTS) ${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 + ${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) endif() #-- - Extra Tools -- - -- cgit v1.2.3