refactor: improve test infrastructure and fix OpenGL GLAD initialization

- Rename D3D12Enum.h to D3D12Enums.h for naming consistency
- Fix OpenGL unit test GLAD initialization by using gladLoadGL()
  instead of gladLoadGLLoader(wglGetProcAddress) for fallback support
- Migrate remaining tests to use gtest_discover_tests for granular
  test discovery (math, core, containers, memory, threading, debug,
  components, scene, resources, input, opengl)
- Remove obsolete TEST_RESOURCES_DIR and copy_directory commands
  from OpenGL unit test CMakeLists (minimal/Res doesn't exist)
- Update TEST_SPEC.md with performance metrics and per-module
  build/test commands for faster development workflow
- Update CMake path references to use lowercase paths
This commit is contained in:
2026-03-23 00:43:02 +08:00
parent 0f0ab8922a
commit f427699ac6
100 changed files with 1191 additions and 1136 deletions

View File

@@ -7,22 +7,23 @@ set(SCENE_TEST_SOURCES
test_scene_manager.cpp
)
add_executable(xcengine_scene_tests ${SCENE_TEST_SOURCES})
add_executable(scene_tests ${SCENE_TEST_SOURCES})
if(MSVC)
set_target_properties(xcengine_scene_tests PROPERTIES
set_target_properties(scene_tests PROPERTIES
LINK_FLAGS "/NODEFAULTLIB:libcpmt.lib /NODEFAULTLIB:libcmt.lib"
)
endif()
target_link_libraries(xcengine_scene_tests PRIVATE
target_link_libraries(scene_tests PRIVATE
XCEngine
GTest::gtest
GTest::gtest_main
)
target_include_directories(xcengine_scene_tests PRIVATE
target_include_directories(scene_tests PRIVATE
${CMAKE_SOURCE_DIR}/engine/include
)
add_test(NAME SceneTests COMMAND xcengine_scene_tests)
include(GoogleTest)
gtest_discover_tests(scene_tests)