mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 12:49:36 -06:00
GoogleTest: Restore support for spaces in explicit WORKING_DIRECTORY
Revise commit fc7aa3cd69 (tests: Preserve empty arguments in test
command lines, 2024-09-30, v3.31.0-rc1~33^2) to delay variable expansion
until code evaluation. Otherwise we may parse the working directory
path as CMake language code.
This commit is contained in:
committed by
Brad King
parent
9fe70fd764
commit
c7884ceefa
@@ -400,9 +400,9 @@ function(gtest_add_tests)
|
||||
message(FATAL_ERROR "${arg_TARGET} does not define an existing CMake target")
|
||||
endif()
|
||||
if(NOT arg_WORKING_DIRECTORY)
|
||||
unset(workDir)
|
||||
unset(maybe_WORKING_DIRECTORY)
|
||||
else()
|
||||
set(workDir WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}")
|
||||
set(maybe_WORKING_DIRECTORY "WORKING_DIRECTORY \${arg_WORKING_DIRECTORY}")
|
||||
endif()
|
||||
|
||||
if(NOT arg_SOURCES)
|
||||
@@ -492,11 +492,11 @@ function(gtest_add_tests)
|
||||
${arg_TEST_PREFIX}${orig_test_name}${arg_TEST_SUFFIX}
|
||||
)
|
||||
cmake_language(EVAL CODE "
|
||||
add_test(NAME ${ctest_test_name}
|
||||
${workDir}
|
||||
COMMAND ${arg_TARGET}
|
||||
add_test(NAME \${ctest_test_name}
|
||||
${maybe_WORKING_DIRECTORY}
|
||||
COMMAND \${arg_TARGET}
|
||||
--gtest_also_run_disabled_tests
|
||||
--gtest_filter=${gtest_test_name}
|
||||
--gtest_filter=\${gtest_test_name}
|
||||
${extra_args}
|
||||
__CMP0178 [==[${cmp0178}]==]
|
||||
)"
|
||||
@@ -508,10 +508,10 @@ function(gtest_add_tests)
|
||||
else()
|
||||
set(ctest_test_name ${arg_TEST_PREFIX}${gtest_test_name}${arg_TEST_SUFFIX})
|
||||
cmake_language(EVAL CODE "
|
||||
add_test(NAME ${ctest_test_name}
|
||||
${workDir}
|
||||
COMMAND ${arg_TARGET}
|
||||
--gtest_filter=${gtest_test_name}
|
||||
add_test(NAME \${ctest_test_name}
|
||||
${maybe_WORKING_DIRECTORY}
|
||||
COMMAND \${arg_TARGET}
|
||||
--gtest_filter=\${gtest_test_name}
|
||||
${extra_args}
|
||||
__CMP0178 [==[${cmp0178}]==]
|
||||
)"
|
||||
|
||||
@@ -27,9 +27,11 @@ set_property(TARGET launcher_test PROPERTY CROSSCOMPILING_EMULATOR "${emulator}"
|
||||
gtest_discover_tests(
|
||||
launcher_test
|
||||
EXTRA_ARGS a "" b
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
gtest_add_tests(
|
||||
TARGET launcher_test
|
||||
EXTRA_ARGS a "" b
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user