ci(windows): build only the execution tests that run without a Vulkan device
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
99e4dfefe7
commit
1137c57572
|
|
@ -304,7 +304,7 @@ jobs:
|
|||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||
evict-old-files: job
|
||||
- shell: cmd
|
||||
run: cmake -S . -B build %CONFIGURE%
|
||||
run: cmake -S . -B build %CONFIGURE% "-DANYPS5_AGC_EXECUTION_TESTS=F64FmaSubnormals;RegistrationPrepareShutdown"
|
||||
- name: Check that every test executable is registered with ctest
|
||||
shell: cmd
|
||||
run: python tools/check_test_registration.py build
|
||||
|
|
|
|||
|
|
@ -1081,10 +1081,14 @@ add_dependencies(agc_driver_mesh_tests agc_trace_revision)
|
|||
set_target_properties(agc_driver_mesh_tests PROPERTIES CXX_EXTENSIONS OFF)
|
||||
configure_windows_unwind(agc_driver_mesh_tests)
|
||||
|
||||
set(ANYPS5_AGC_EXECUTION_TESTS "" CACHE STRING "tests/execution sources to build, by file name without extension; the others build a stub that reports a skip. Empty builds all")
|
||||
file(GLOB agcExecutionTestSources CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tests/execution/*.cpp)
|
||||
set(agcExecutionTests)
|
||||
foreach(agcExecutionTestSource IN LISTS agcExecutionTestSources)
|
||||
get_filename_component(agcExecutionTestName ${agcExecutionTestSource} NAME_WE)
|
||||
if(ANYPS5_AGC_EXECUTION_TESTS AND NOT agcExecutionTestName IN_LIST ANYPS5_AGC_EXECUTION_TESTS)
|
||||
set(agcExecutionTestSource ${CMAKE_CURRENT_SOURCE_DIR}/tests/ExecutionTestNotBuilt.cpp)
|
||||
endif()
|
||||
string(REGEX REPLACE "([a-z0-9])([A-Z])" "\\1_\\2" agcExecutionTestName "${agcExecutionTestName}")
|
||||
string(TOLOWER "agc_driver_${agcExecutionTestName}_tests" agcExecutionTest)
|
||||
add_test_executable(${agcExecutionTest} EXCLUDE_FROM_ALL ${agcExecutionTestSource})
|
||||
|
|
@ -1099,6 +1103,11 @@ foreach(agcExecutionTestSource IN LISTS agcExecutionTestSources)
|
|||
configure_windows_unwind(${agcExecutionTest})
|
||||
list(APPEND agcExecutionTests ${agcExecutionTest})
|
||||
endforeach()
|
||||
foreach(agcExecutionTestName IN LISTS ANYPS5_AGC_EXECUTION_TESTS)
|
||||
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/tests/execution/${agcExecutionTestName}.cpp)
|
||||
message(FATAL_ERROR "ANYPS5_AGC_EXECUTION_TESTS names ${agcExecutionTestName}, which has no source in tests/execution")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
target_link_libraries(agc_driver_gpu_map_on_fiber_tests PRIVATE libSceFiber)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
#include <cstdio>
|
||||
|
||||
int main() {
|
||||
std::puts("skipped, this build leaves the test out with ANYPS5_AGC_EXECUTION_TESTS");
|
||||
return 77;
|
||||
}
|
||||
Loading…
Reference in New Issue