Files
CMake/Tests/RunCMake/GoogleTest/test_list_test.cpp
Evgeniy Shcherbina 61929f936f GoogleTest: Fix escaping in test names
Due to add_command() being a macro it introduced excessive and
nonobvious escaping in different parts of the script. Because of
one of such places the resulting script would have an erroneous
${TEST_LIST} if the user data (in test parameters) had a semicolon.

To eliminate this non-obvious escaping, add_command() was converted
to function. Updated the escaping accordingly.

Fixes: #23059
2022-02-11 09:03:40 -05:00

19 lines
721 B
C++

#include <iostream>
#include <string>
int main(int argc, char** argv)
{
// Note: GoogleTest.cmake doesn't actually depend on Google Test as such;
// it only requires that we produces output in the expected format when
// invoked with --gtest_list_tests. Thus, we fake that here. This allows us
// to test the module without actually needing Google Test.
if (argc > 1 && std::string(argv[1]) == "--gtest_list_tests") {
std::cout << "test_list_test/test.\n";
std::cout << " case/0 # GetParam() = \"semicolon;\"\n";
std::cout << " case/1 # GetParam() = 'osb['\n";
std::cout << " case/2 # GetParam() = 'csb]'\n";
std::cout << " case/3 # GetParam() = 'S p a c e s'\n";
}
return 0;
}