Forráskód Böngészése

cmake: add SDL_TESTS_TIMEOUT_MULTIPLIER to account for slower machines

Anonymous Maarten 2 éve
szülő
commit
0ab99ffb2a
1 módosított fájl, 10 hozzáadás és 7 törlés
  1. 10 7
      test/CMakeLists.txt

+ 10 - 7
test/CMakeLists.txt

@@ -23,6 +23,7 @@ if(EMSCRIPTEN OR N3DS OR PS2 OR PSP OR RISCOS OR VITA)
 endif()
 
 option(SDL_TESTS_LINK_SHARED "link tests to shared SDL library" ${SDL_TESTS_LINK_SHARED_DEFAULT})
+set(SDL_TESTS_TIMEOUT_MULTIPLIER "1" CACHE STRING "Timeout multiplier to account for really slow machines")
 
 if(SDL_TESTS_LINK_SHARED)
     set(sdl_name_component SDL3)
@@ -362,17 +363,19 @@ set(TESTS_ENVIRONMENT
     SDL_VIDEO_DRIVER=dummy
 )
 
+function(sdl_set_test_timeout TEST TIMEOUT)
+    math(EXPR TIMEOUT "${TIMEOUT}*${SDL_TESTS_TIMEOUT_MULTIPLIER}")
+    set_tests_properties(${test} PROPERTIES TIMEOUT "${TIMEOUT}")
+endfunction()
+
 foreach(TESTCASE ${SDL_TESTS_NONINTERACTIVE})
     add_test(
         NAME ${TESTCASE}
         COMMAND ${TESTCASE}
         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
     )
-    set_tests_properties(${TESTCASE}
-        PROPERTIES
-            ENVIRONMENT "${TESTS_ENVIRONMENT}"
-            TIMEOUT 10
-    )
+    set_tests_properties(${TESTCASE} PROPERTIES ENVIRONMENT "${TESTS_ENVIRONMENT}")
+    sdl_set_test_timeout(${TESTCASE} 10)
     if(SDL_INSTALL_TESTS)
         set(exe ${TESTCASE})
         set(installedtestsdir "${CMAKE_INSTALL_FULL_LIBEXECDIR}/installed-tests/SDL3")
@@ -384,8 +387,8 @@ foreach(TESTCASE ${SDL_TESTS_NONINTERACTIVE})
     endif()
 endforeach()
 
-set_tests_properties(testthread PROPERTIES TIMEOUT 40)
-set_tests_properties(testtimer PROPERTIES TIMEOUT 60)
+sdl_set_test_timeout(testthread 40)
+sdl_set_test_timeout(testtimer 60)
 
 if(SDL_INSTALL_TESTS)
     if(RISCOS)