Enhance CMake configuration and CI/CD workflows for improved testing

- Updated CMakeLists.txt to introduce options for enabling experimental tests and minimal CI builds.
- Modified CMakePresets.json to refine test presets, including stable and experimental test configurations.
- Enhanced CI workflows in ci.yml to streamline testing processes, ensuring stable tests are prioritized and experimental tests are run separately.
- Added new documentation files outlining the CI/CD testing strategy and testing categories for better clarity on testing practices.
- Improved test discovery in CMakeLists.txt to simplify labeling and enhance CI efficiency.
This commit is contained in:
scawful
2025-09-25 09:39:33 -04:00
parent a1429a8199
commit e930789f4b
9 changed files with 486 additions and 56 deletions

View File

@@ -131,30 +131,11 @@ endif()
include(GoogleTest)
# Configure test discovery with labels
gtest_discover_tests(yaze_test
PROPERTIES
LABELS "UNIT_TEST"
)
# Configure test discovery with efficient labeling for CI/CD
include(GoogleTest)
# Add labels for ROM-dependent tests
if(YAZE_ENABLE_ROM_TESTS)
gtest_discover_tests(yaze_test
TEST_FILTER "*AsarRomIntegrationTest*"
PROPERTIES
LABELS "ROM_DEPENDENT;INTEGRATION_TEST"
)
endif()
# Discover all tests with default properties
gtest_discover_tests(yaze_test)
# Add labels for other integration tests
gtest_discover_tests(yaze_test
TEST_FILTER "*AsarIntegrationTest*"
PROPERTIES
LABELS "INTEGRATION_TEST"
)
gtest_discover_tests(yaze_test
TEST_FILTER "*AsarWrapperTest*"
PROPERTIES
LABELS "UNIT_TEST"
)
# Add test labels using a simpler approach
# Note: Test names might have prefixes, we'll use regex patterns for CI