瀏覽代碼

Merge topic 'GoogleTest-gtest_discover_tests-failure'

2ba8ac07ed GoogleTest: Fix CTest not failing if gtest_discover_tests fails
2c9680eec5 GoogleTest: Add missing test case for gtest_discover_tests failure

Acked-by: Kitware Robot <[email protected]>
Reviewed-by: Steffen Seckler <[email protected]>
Acked-by: Matthew Woehlke <[email protected]>
Merge-request: !4466
Brad King 5 年之前
父節點
當前提交
c3ab1c22b0

+ 4 - 2
Modules/GoogleTestAddTests.cmake

@@ -13,11 +13,13 @@ set(tests)
 set(tests_buffer)
 
 # Overwrite possibly existing ${CTEST_FILE} with empty file
-file(WRITE "${CTEST_FILE}" "")
+set(flush_tests_MODE WRITE)
 
 # Flushes script to ${CTEST_FILE}
 macro(flush_script)
-  file(APPEND "${CTEST_FILE}" "${script}")
+  file(${flush_tests_MODE} "${CTEST_FILE}" "${script}")
+  set(flush_tests_MODE APPEND)
+
   set(script "")
 endmacro()
 

+ 0 - 0
Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout-result.txt → Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout-build-result.txt


+ 0 - 0
Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout-stdout.txt → Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout-build-stdout.txt


+ 1 - 0
Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout-test-result.txt

@@ -0,0 +1 @@
+[^0]

+ 2 - 0
Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout-test-stderr.txt

@@ -0,0 +1,2 @@
+Unable to find executable: discovery_timeout_test_NOT_BUILT
+Errors while running CTest

+ 18 - 0
Tests/RunCMake/GoogleTest/GoogleTest-discovery-timeout-test-stdout.txt

@@ -0,0 +1,18 @@
+Test project .*GoogleTest-build
+[ \t]*Start [0-9]+: discovery_timeout_test_NOT_BUILT
+Could not find executable discovery_timeout_test_NOT_BUILT
+Looked in the following places:
+discovery_timeout_test_NOT_BUILT
+discovery_timeout_test_NOT_BUILT(\.exe)?
+Debug/discovery_timeout_test_NOT_BUILT
+Debug/discovery_timeout_test_NOT_BUILT(\.exe)?
+Debug/discovery_timeout_test_NOT_BUILT
+Debug/discovery_timeout_test_NOT_BUILT(\.exe)?
+[^\n]+discovery_timeout_test_NOT_BUILT +\.+\*\*\*Not Run +[0-9.]+ sec
++
+0% tests passed, 1 tests failed out of 1
++
+Total Test time \(real\) =   +[0-9.]+ sec
++
+The following tests FAILED:
+[^\n]+discovery_timeout_test_NOT_BUILT \(Not Run\)

+ 8 - 1
Tests/RunCMake/GoogleTest/RunCMakeTest.cmake

@@ -27,7 +27,7 @@ function(run_GoogleTest)
   )
 
   set(RunCMake_TEST_OUTPUT_MERGE 1)
-  run_cmake_command(GoogleTest-discovery-timeout
+  run_cmake_command(GoogleTest-discovery-timeout-build
     ${CMAKE_COMMAND}
     --build .
     --config Debug
@@ -69,6 +69,13 @@ function(run_GoogleTest)
     -R property_timeout\\.case_with_discovery
     --no-label-summary
   )
+
+  run_cmake_command(GoogleTest-discovery-timeout-test
+    ${CMAKE_CTEST_COMMAND}
+    -C Debug
+    -R discovery_timeout_test
+    --no-label-summary
+  )
 endfunction()
 
 run_GoogleTest()