mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 08:20:18 -06:00
GoogleTest: Preserve spaces in test parameters
Before the fix the gtest_discover_tests() function would strip the user data in test parameters (everything to the right of GetParam()) of spaces. Now the parameters aren't altered in any way. Fixes #23058
This commit is contained in:
@@ -142,15 +142,14 @@ function(gtest_discover_tests_impl)
|
||||
endif()
|
||||
string(REGEX REPLACE "^DISABLED_" "" pretty_suite "${pretty_suite}")
|
||||
else()
|
||||
# Test name; strip spaces and comments to get just the name...
|
||||
string(REGEX REPLACE " +" "" test "${line}")
|
||||
string(STRIP "${line}" test)
|
||||
if(test MATCHES "#" AND NOT _NO_PRETTY_VALUES)
|
||||
string(REGEX REPLACE "/[0-9]+#GetParam..=" "/" pretty_test "${test}")
|
||||
string(REGEX REPLACE "/[0-9]+[ #]+GetParam\\(\\) = " "/" pretty_test "${test}")
|
||||
else()
|
||||
string(REGEX REPLACE "#.*" "" pretty_test "${test}")
|
||||
string(REGEX REPLACE " +#.*" "" pretty_test "${test}")
|
||||
endif()
|
||||
string(REGEX REPLACE "^DISABLED_" "" pretty_test "${pretty_test}")
|
||||
string(REGEX REPLACE "#.*" "" test "${test}")
|
||||
string(REGEX REPLACE " +#.*" "" test "${test}")
|
||||
if(NOT "${_TEST_XML_OUTPUT_DIR}" STREQUAL "")
|
||||
set(TEST_XML_OUTPUT_PARAM "--gtest_output=xml:${_TEST_XML_OUTPUT_DIR}/${prefix}${suite}.${test}${suffix}.xml")
|
||||
else()
|
||||
|
||||
@@ -49,6 +49,8 @@ Test project .*
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"__osbtext"!1 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:param/special\.case/"__csb___text"!1
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"__csb___text"!1 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:param/special\.case/"S o m e "!1
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"S o m e "!1 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"semicolon;"!1
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"semicolon;"!1 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"backslash\\"!1
|
||||
@@ -63,6 +65,8 @@ Test project .*
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"__osbtext"!1 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"__csb___text"!1
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"__csb___text"!1 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"S o m e "!1
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"S o m e "!1 \.+ +Passed +[0-9.]+ sec
|
||||
|
||||
100% tests passed, 0 tests failed out of [0-9]+
|
||||
|
||||
|
||||
@@ -49,6 +49,8 @@ Test project .*
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"__osbtext"!2 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:param/special\.case/"__csb___text"!2
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"__csb___text"!2 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:param/special\.case/"S o m e "!2
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"S o m e "!2 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"semicolon;"!2
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"semicolon;"!2 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"backslash\\"!2
|
||||
@@ -63,6 +65,8 @@ Test project .*
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"__osbtext"!2 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"__csb___text"!2
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"__csb___text"!2 \.+ +Passed +[0-9.]+ sec
|
||||
*Start +[0-9]+: TEST:ns\.param/special\.case/"S o m e "!2
|
||||
*[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"S o m e "!2 \.+ +Passed +[0-9.]+ sec
|
||||
|
||||
100% tests passed, 0 tests failed out of [0-9]+
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ int main(int argc, char** argv)
|
||||
std::cout << " case/4 # GetParam() = \"]]=]\"" << std::endl;
|
||||
std::cout << " case/5 # GetParam() = \"__osbtext\"" << std::endl;
|
||||
std::cout << " case/6 # GetParam() = \"__csb___text\"" << std::endl;
|
||||
std::cout << " case/7 # GetParam() = \"S o m e \"" << std::endl;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user