summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-01-12 14:44:18 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-01-12 14:44:24 (GMT)
commitc7af95477038cdf90b8ebfeb2ac0beae14aff5d9 (patch)
treec966b788dd651b9d92989a09dee1df97aed82c2d
parent34d16d9e56541dad3b9aa2fc45e271cbb08b3097 (diff)
parent8b85b10fb36e5d1ef4d639cd841cf637d64df3c8 (diff)
downloadCMake-c7af95477038cdf90b8ebfeb2ac0beae14aff5d9.zip
CMake-c7af95477038cdf90b8ebfeb2ac0beae14aff5d9.tar.gz
CMake-c7af95477038cdf90b8ebfeb2ac0beae14aff5d9.tar.bz2
Merge topic 'GoogleTest-discover-sq-brackets'
8b85b10fb3 GoogleTest: Add handling for square brackets in test names 8f977a5c92 GoogleTest: Generalize test samples Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6842
-rw-r--r--Modules/GoogleTestAddTests.cmake68
-rw-r--r--Tests/RunCMake/GoogleTest/GoogleTest-skip-test-stdout.txt6
-rw-r--r--Tests/RunCMake/GoogleTest/GoogleTest-test1-stdout.txt120
-rw-r--r--Tests/RunCMake/GoogleTest/GoogleTest-test2-stdout.txt120
-rw-r--r--Tests/RunCMake/GoogleTest/GoogleTest-test3-stdout.txt38
-rw-r--r--Tests/RunCMake/GoogleTest/GoogleTest-test4-stdout.txt18
-rw-r--r--Tests/RunCMake/GoogleTest/fake_gtest.cpp4
7 files changed, 226 insertions, 148 deletions
diff --git a/Modules/GoogleTestAddTests.cmake b/Modules/GoogleTestAddTests.cmake
index 1283a3f..7043b2b 100644
--- a/Modules/GoogleTestAddTests.cmake
+++ b/Modules/GoogleTestAddTests.cmake
@@ -20,7 +20,7 @@ macro(flush_tests_buffer)
set(tests_buffer "")
endmacro()
-macro(add_command NAME)
+macro(add_command NAME TEST_NAME)
set(_args "")
foreach(_arg ${ARGN})
if(_arg MATCHES "[^-./:a-zA-Z0-9_]")
@@ -29,7 +29,7 @@ macro(add_command NAME)
string(APPEND _args " ${_arg}")
endif()
endforeach()
- string(APPEND script "${NAME}(${_args})\n")
+ string(APPEND script "${NAME}(${TEST_NAME} ${_args})\n")
string(LENGTH "${script}" _script_len)
if(${_script_len} GREATER "50000")
flush_script()
@@ -39,6 +39,32 @@ macro(add_command NAME)
unset(_script_len)
endmacro()
+function(generate_testname_guards OUTPUT OPEN_GUARD_VAR CLOSE_GUARD_VAR)
+ set(open_guard "[=[")
+ set(close_guard "]=]")
+ set(counter 1)
+ while("${OUTPUT}" MATCHES "${close_guard}")
+ math(EXPR counter "${counter} + 1")
+ string(REPEAT "=" ${counter} equals)
+ set(open_guard "[${equals}[")
+ set(close_guard "]${equals}]")
+ endwhile()
+ set(${OPEN_GUARD_VAR} "${open_guard}" PARENT_SCOPE)
+ set(${CLOSE_GUARD_VAR} "${close_guard}" PARENT_SCOPE)
+endfunction()
+
+function(escape_square_brackets OUTPUT BRACKET PLACEHOLDER PLACEHOLDER_VAR OUTPUT_VAR)
+ if("${OUTPUT}" MATCHES "\\${BRACKET}")
+ set(placeholder "${PLACEHOLDER}")
+ while("${OUTPUT}" MATCHES "${placeholder}")
+ set(placeholder "${placeholder}_")
+ endwhile()
+ string(REPLACE "${BRACKET}" "${placeholder}" OUTPUT "${OUTPUT}")
+ set(${PLACEHOLDER_VAR} "${placeholder}" PARENT_SCOPE)
+ set(${OUTPUT_VAR} "${OUTPUT}" PARENT_SCOPE)
+ endif()
+endfunction()
+
function(gtest_discover_tests_impl)
cmake_parse_arguments(
@@ -94,6 +120,9 @@ function(gtest_discover_tests_impl)
)
endif()
+ generate_testname_guards("${output}" open_guard close_guard)
+ escape_square_brackets("${output}" "[" "__osb" open_sb output)
+ escape_square_brackets("${output}" "]" "__csb" close_sb output)
# Preserve semicolon in test-parameters
string(REPLACE [[;]] [[\;]] output "${output}")
string(REPLACE "\n" ";" output "${output}")
@@ -128,18 +157,24 @@ function(gtest_discover_tests_impl)
unset(TEST_XML_OUTPUT_PARAM)
endif()
- # sanitize test name for further processing downstream
set(testname "${prefix}${pretty_suite}.${pretty_test}${suffix}")
+ # sanitize test name for further processing downstream
+ # unescape []
+ if(open_sb)
+ string(REPLACE "${open_sb}" "[" testname "${testname}")
+ endif()
+ if(close_sb)
+ string(REPLACE "${close_sb}" "]" testname "${testname}")
+ endif()
# escape \
string(REPLACE [[\]] [[\\]] testname "${testname}")
- # escape ;
- string(REPLACE [[;]] [[\;]] testname "${testname}")
# escape $
string(REPLACE [[$]] [[\$]] testname "${testname}")
+ set(guarded_testname "${open_guard}${testname}${close_guard}")
# ...and add to script
add_command(add_test
- "${testname}"
+ "${guarded_testname}"
${_TEST_EXECUTOR}
"${_TEST_EXECUTABLE}"
"--gtest_filter=${suite}.${test}"
@@ -149,21 +184,28 @@ function(gtest_discover_tests_impl)
)
if(suite MATCHES "^DISABLED_" OR test MATCHES "^DISABLED_")
add_command(set_tests_properties
- "${testname}"
+ "${guarded_testname}"
PROPERTIES DISABLED TRUE
)
endif()
+
add_command(set_tests_properties
- "${testname}"
+ "${guarded_testname}"
PROPERTIES
WORKING_DIRECTORY "${_TEST_WORKING_DIR}"
SKIP_REGULAR_EXPRESSION "\\\\[ SKIPPED \\\\]"
${properties}
)
- list(APPEND tests_buffer "${testname}")
- list(LENGTH tests_buffer tests_buffer_length)
- if(${tests_buffer_length} GREATER "250")
- flush_tests_buffer()
+
+ # possibly unbalanced square brackets render lists invalid so skip such tests in _TEST_LIST
+ if(NOT "${testname}" MATCHES [=[(\[|\])]=])
+ # escape ;
+ string(REPLACE [[;]] [[\;]] testname "${testname}")
+ list(APPEND tests_buffer "${testname}")
+ list(LENGTH tests_buffer tests_buffer_length)
+ if(${tests_buffer_length} GREATER "250")
+ flush_tests_buffer()
+ endif()
endif()
endif()
endif()
@@ -173,7 +215,7 @@ function(gtest_discover_tests_impl)
# Create a list of all discovered tests, which users may use to e.g. set
# properties on the tests
flush_tests_buffer()
- add_command(set ${_TEST_LIST} ${tests})
+ add_command(set "" ${_TEST_LIST} ${tests})
# Write CTest script
flush_script()
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-skip-test-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-skip-test-stdout.txt
index 58b2453..8d7527c 100644
--- a/Tests/RunCMake/GoogleTest/GoogleTest-skip-test-stdout.txt
+++ b/Tests/RunCMake/GoogleTest/GoogleTest-skip-test-stdout.txt
@@ -1,10 +1,10 @@
Test project .*
- Start 64: skip_test\.test1
-1/1 Test #64: skip_test\.test1 \.+\*\*\*Skipped +[0-9.]+ sec
+ *Start +[0-9]+: skip_test\.test1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: skip_test\.test1 \.+\*\*\*Skipped +[0-9.]+ sec
100% tests passed, 0 tests failed out of 1
Total Test time \(real\) = +[0-9.]+ sec
The following tests did not run:
-.*64 - skip_test\.test1 \(Skipped\)
+[ 0-9]+- skip_test\.test1 \(Skipped\)
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-test1-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-test1-stdout.txt
index bf98a66..9c0b775 100644
--- a/Tests/RunCMake/GoogleTest/GoogleTest-test1-stdout.txt
+++ b/Tests/RunCMake/GoogleTest/GoogleTest-test1-stdout.txt
@@ -1,58 +1,74 @@
Test project .*
- Start 1: TEST:basic\.case_foo!1
- 1/24 Test #1: TEST:basic\.case_foo!1 \.+ +Passed +[0-9.]+ sec
- Start 2: TEST:basic\.case_bar!1
- 2/24 Test #2: TEST:basic\.case_bar!1 \.+ +Passed +[0-9.]+ sec
- Start 3: TEST:basic\.disabled_case!1
- 3/24 Test #3: TEST:basic\.disabled_case!1 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 4: TEST:basic\.DISABLEDnot_really_case!1
- 4/24 Test #4: TEST:basic\.DISABLEDnot_really_case!1 \.+ +Passed +[0-9.]+ sec
- Start 5: TEST:ns\.basic\.case_foo!1
- 5/24 Test #5: TEST:ns\.basic\.case_foo!1 \.+ +Passed +[0-9.]+ sec
- Start 6: TEST:ns\.basic\.case_bar!1
- 6/24 Test #6: TEST:ns\.basic\.case_bar!1 \.+ +Passed +[0-9.]+ sec
- Start 7: TEST:ns\.basic\.disabled_case!1
- 7/24 Test #7: TEST:ns\.basic\.disabled_case!1 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 8: TEST:ns\.basic\.DISABLEDnot_really_case!1
- 8/24 Test #8: TEST:ns\.basic\.DISABLEDnot_really_case!1 \.+ +Passed +[0-9.]+ sec
- Start 9: TEST:disabled\.case!1
- 9/24 Test #9: TEST:disabled\.case!1 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 10: TEST:DISABLEDnotreally\.case!1
-10/24 Test #10: TEST:DISABLEDnotreally\.case!1 \.+ +Passed +[0-9.]+ sec
- Start 11: TEST:typed/short\.case!1
-11/24 Test #11: TEST:typed/short\.case!1 \.+ +Passed +[0-9.]+ sec
- Start 12: TEST:typed/float\.case!1
-12/24 Test #12: TEST:typed/float\.case!1 \.+ +Passed +[0-9.]+ sec
- Start 13: TEST:ns\.typed/short\.case!1
-13/24 Test #13: TEST:ns\.typed/short\.case!1 \.+ +Passed +[0-9.]+ sec
- Start 14: TEST:ns\.typed/float\.case!1
-14/24 Test #14: TEST:ns\.typed/float\.case!1 \.+ +Passed +[0-9.]+ sec
- Start 15: TEST:value/test\.case/1!1
-15/24 Test #15: TEST:value/test\.case/1!1 \.+ +Passed +[0-9.]+ sec
- Start 16: TEST:value/test\.case/"foo"!1
-16/24 Test #16: TEST:value/test\.case/"foo"!1 \.+ +Passed +[0-9.]+ sec
- Start 17: TEST:ns\.value/test\.case/1!1
-17/24 Test #17: TEST:ns\.value/test\.case/1!1 \.+ +Passed +[0-9.]+ sec
- Start 18: TEST:ns\.value/test\.case/"foo"!1
-18/24 Test #18: TEST:ns\.value/test\.case/"foo"!1 \.+ +Passed +[0-9.]+ sec
- Start 19: TEST:param/special\.case/"semicolon;"!1
-19/24 Test #19: TEST:param/special\.case/"semicolon;"!1 \.+ +Passed +[0-9.]+ sec
- Start 20: TEST:param/special\.case/"backslash\\"!1
-20/24 Test #20: TEST:param/special\.case/"backslash\\"!1 \.+ +Passed +[0-9.]+ sec
- Start 21: TEST:param/special\.case/"\${var}"!1
-21/24 Test #21: TEST:param/special\.case/"\${var}"!1 \.+ +Passed +[0-9.]+ sec
- Start 22: TEST:ns\.param/special\.case/"semicolon;"!1
-22/24 Test #22: TEST:ns\.param/special\.case/"semicolon;"!1 \.+ +Passed +[0-9.]+ sec
- Start 23: TEST:ns\.param/special\.case/"backslash\\"!1
-23/24 Test #23: TEST:ns\.param/special\.case/"backslash\\"!1 \.+ +Passed +[0-9.]+ sec
- Start 24: TEST:ns\.param/special\.case/"\${var}"!1
-24/24 Test #24: TEST:ns\.param/special\.case/"\${var}"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.case_foo!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.case_foo!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.case_bar!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.case_bar!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.disabled_case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.disabled_case!1 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.DISABLEDnot_really_case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.DISABLEDnot_really_case!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.case_foo!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.case_foo!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.case_bar!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.case_bar!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.disabled_case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.disabled_case!1 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.DISABLEDnot_really_case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.DISABLEDnot_really_case!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:disabled\.case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:disabled\.case!1 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:DISABLEDnotreally\.case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:DISABLEDnotreally\.case!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed/short\.case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed/short\.case!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed/float\.case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed/float\.case!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed/short\.case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed/short\.case!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed/float\.case!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed/float\.case!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:value/test\.case/1!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:value/test\.case/1!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:value/test\.case/"foo"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:value/test\.case/"foo"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.value/test\.case/1!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.value/test\.case/1!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.value/test\.case/"foo"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.value/test\.case/"foo"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"semicolon;"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"semicolon;"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"backslash\\"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"backslash\\"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"\${var}"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"\${var}"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/'\['!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/'\['!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"\]\]=\]"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"\]\]=\]"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"__osbtext"!1
+ *[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: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
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"backslash\\"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/"\${var}"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"\${var}"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/'\['!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/'\['!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/"\]\]=\]"!1
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"\]\]=\]"!1 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/"__osbtext"!1
+ *[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
-100% tests passed, 0 tests failed out of 21
+100% tests passed, 0 tests failed out of [0-9]+
Total Test time \(real\) = +[0-9.]+ sec
The following tests did not run:
-.*3 - TEST:basic\.disabled_case!1 \(Disabled\)
-.*7 - TEST:ns\.basic\.disabled_case!1 \(Disabled\)
-.*9 - TEST:disabled\.case!1 \(Disabled\)
+[ 0-9]+- TEST:basic\.disabled_case!1 \(Disabled\)
+[ 0-9]+- TEST:ns\.basic\.disabled_case!1 \(Disabled\)
+[ 0-9]+- TEST:disabled\.case!1 \(Disabled\)
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-test2-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-test2-stdout.txt
index 089e3e8..b0210c6 100644
--- a/Tests/RunCMake/GoogleTest/GoogleTest-test2-stdout.txt
+++ b/Tests/RunCMake/GoogleTest/GoogleTest-test2-stdout.txt
@@ -1,58 +1,74 @@
Test project .*
- Start 25: TEST:basic\.case_foo!2
- 1/24 Test #25: TEST:basic\.case_foo!2 \.+ +Passed +[0-9.]+ sec
- Start 26: TEST:basic\.case_bar!2
- 2/24 Test #26: TEST:basic\.case_bar!2 \.+ +Passed +[0-9.]+ sec
- Start 27: TEST:basic\.disabled_case!2
- 3/24 Test #27: TEST:basic\.disabled_case!2 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 28: TEST:basic\.DISABLEDnot_really_case!2
- 4/24 Test #28: TEST:basic\.DISABLEDnot_really_case!2 \.+ +Passed +[0-9.]+ sec
- Start 29: TEST:ns\.basic\.case_foo!2
- 5/24 Test #29: TEST:ns\.basic\.case_foo!2 \.+ +Passed +[0-9.]+ sec
- Start 30: TEST:ns\.basic\.case_bar!2
- 6/24 Test #30: TEST:ns\.basic\.case_bar!2 \.+ +Passed +[0-9.]+ sec
- Start 31: TEST:ns\.basic\.disabled_case!2
- 7/24 Test #31: TEST:ns\.basic\.disabled_case!2 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 32: TEST:ns\.basic\.DISABLEDnot_really_case!2
- 8/24 Test #32: TEST:ns\.basic\.DISABLEDnot_really_case!2 \.+ +Passed +[0-9.]+ sec
- Start 33: TEST:disabled\.case!2
- 9/24 Test #33: TEST:disabled\.case!2 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 34: TEST:DISABLEDnotreally\.case!2
-10/24 Test #34: TEST:DISABLEDnotreally\.case!2 \.+ +Passed +[0-9.]+ sec
- Start 35: TEST:typed/short\.case!2
-11/24 Test #35: TEST:typed/short\.case!2 \.+ +Passed +[0-9.]+ sec
- Start 36: TEST:typed/float\.case!2
-12/24 Test #36: TEST:typed/float\.case!2 \.+ +Passed +[0-9.]+ sec
- Start 37: TEST:ns\.typed/short\.case!2
-13/24 Test #37: TEST:ns\.typed/short\.case!2 \.+ +Passed +[0-9.]+ sec
- Start 38: TEST:ns\.typed/float\.case!2
-14/24 Test #38: TEST:ns\.typed/float\.case!2 \.+ +Passed +[0-9.]+ sec
- Start 39: TEST:value/test\.case/1!2
-15/24 Test #39: TEST:value/test\.case/1!2 \.+ +Passed +[0-9.]+ sec
- Start 40: TEST:value/test\.case/"foo"!2
-16/24 Test #40: TEST:value/test\.case/"foo"!2 \.+ +Passed +[0-9.]+ sec
- Start 41: TEST:ns\.value/test\.case/1!2
-17/24 Test #41: TEST:ns\.value/test\.case/1!2 \.+ +Passed +[0-9.]+ sec
- Start 42: TEST:ns\.value/test\.case/"foo"!2
-18/24 Test #42: TEST:ns\.value/test\.case/"foo"!2 \.+ +Passed +[0-9.]+ sec
- Start 43: TEST:param/special\.case/"semicolon;"!2
-19/24 Test #43: TEST:param/special\.case/"semicolon;"!2 \.+ +Passed +[0-9.]+ sec
- Start 44: TEST:param/special\.case/"backslash\\"!2
-20/24 Test #44: TEST:param/special\.case/"backslash\\"!2 \.+ +Passed +[0-9.]+ sec
- Start 45: TEST:param/special\.case/"\${var}"!2
-21/24 Test #45: TEST:param/special\.case/"\${var}"!2 \.+ +Passed +[0-9.]+ sec
- Start 46: TEST:ns\.param/special\.case/"semicolon;"!2
-22/24 Test #46: TEST:ns\.param/special\.case/"semicolon;"!2 \.+ +Passed +[0-9.]+ sec
- Start 47: TEST:ns\.param/special\.case/"backslash\\"!2
-23/24 Test #47: TEST:ns\.param/special\.case/"backslash\\"!2 \.+ +Passed +[0-9.]+ sec
- Start 48: TEST:ns\.param/special\.case/"\${var}"!2
-24/24 Test #48: TEST:ns\.param/special\.case/"\${var}"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.case_foo!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.case_foo!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.case_bar!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.case_bar!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.disabled_case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.disabled_case!2 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.DISABLEDnot_really_case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.DISABLEDnot_really_case!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.case_foo!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.case_foo!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.case_bar!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.case_bar!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.disabled_case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.disabled_case!2 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.DISABLEDnot_really_case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.DISABLEDnot_really_case!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:disabled\.case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:disabled\.case!2 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:DISABLEDnotreally\.case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:DISABLEDnotreally\.case!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed/short\.case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed/short\.case!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed/float\.case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed/float\.case!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed/short\.case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed/short\.case!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed/float\.case!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed/float\.case!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:value/test\.case/1!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:value/test\.case/1!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:value/test\.case/"foo"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:value/test\.case/"foo"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.value/test\.case/1!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.value/test\.case/1!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.value/test\.case/"foo"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.value/test\.case/"foo"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"semicolon;"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"semicolon;"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"backslash\\"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"backslash\\"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"\${var}"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"\${var}"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/'\['!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/'\['!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"\]\]=\]"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/"\]\]=\]"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/"__osbtext"!2
+ *[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: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
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"backslash\\"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/"\${var}"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"\${var}"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/'\['!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/'\['!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/"\]\]=\]"!2
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/"\]\]=\]"!2 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/"__osbtext"!2
+ *[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
-100% tests passed, 0 tests failed out of 21
+100% tests passed, 0 tests failed out of [0-9]+
Total Test time \(real\) = +[0-9.]+ sec
The following tests did not run:
-.*27 - TEST:basic\.disabled_case!2 \(Disabled\)
-.*31 - TEST:ns\.basic\.disabled_case!2 \(Disabled\)
-.*33 - TEST:disabled\.case!2 \(Disabled\)
+[ 0-9]+- TEST:basic\.disabled_case!2 \(Disabled\)
+[ 0-9]+- TEST:ns\.basic\.disabled_case!2 \(Disabled\)
+[ 0-9]+- TEST:disabled\.case!2 \(Disabled\)
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-test3-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-test3-stdout.txt
index 3593dfe..fb227a9 100644
--- a/Tests/RunCMake/GoogleTest/GoogleTest-test3-stdout.txt
+++ b/Tests/RunCMake/GoogleTest/GoogleTest-test3-stdout.txt
@@ -1,25 +1,25 @@
Test project .*
- Start 49: TEST:basic\.case_foo!3
-1/8 Test #49: TEST:basic\.case_foo!3 \.+ +Passed +[0-9.]+ sec
- Start 50: TEST:basic\.case_bar!3
-2/8 Test #50: TEST:basic\.case_bar!3 \.+ +Passed +[0-9.]+ sec
- Start 51: TEST:basic\.disabled_case!3
-3/8 Test #51: TEST:basic\.disabled_case!3 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 52: TEST:basic\.DISABLEDnot_really_case!3
-4/8 Test #52: TEST:basic\.DISABLEDnot_really_case!3 \.+ +Passed +[0-9.]+ sec
- Start 53: TEST:ns\.basic\.case_foo!3
-5/8 Test #53: TEST:ns\.basic\.case_foo!3 \.+ +Passed +[0-9.]+ sec
- Start 54: TEST:ns\.basic\.case_bar!3
-6/8 Test #54: TEST:ns\.basic\.case_bar!3 \.+ +Passed +[0-9.]+ sec
- Start 55: TEST:ns\.basic\.disabled_case!3
-7/8 Test #55: TEST:ns\.basic\.disabled_case!3 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
- Start 56: TEST:ns\.basic\.DISABLEDnot_really_case!3
-8/8 Test #56: TEST:ns\.basic\.DISABLEDnot_really_case!3 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.case_foo!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.case_foo!3 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.case_bar!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.case_bar!3 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.disabled_case!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.disabled_case!3 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:basic\.DISABLEDnot_really_case!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:basic\.DISABLEDnot_really_case!3 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.case_foo!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.case_foo!3 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.case_bar!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.case_bar!3 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.disabled_case!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.disabled_case!3 \.+\*+Not Run \(Disabled\) +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.basic\.DISABLEDnot_really_case!3
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.basic\.DISABLEDnot_really_case!3 \.+ +Passed +[0-9.]+ sec
-100% tests passed, 0 tests failed out of 6
+100% tests passed, 0 tests failed out of [0-9]+
Total Test time \(real\) = +[0-9.]+ sec
The following tests did not run:
-.*51 - TEST:basic\.disabled_case!3 \(Disabled\)
-.*55 - TEST:ns\.basic\.disabled_case!3 \(Disabled\)
+[ 0-9]+- TEST:basic\.disabled_case!3 \(Disabled\)
+[ 0-9]+- TEST:ns\.basic\.disabled_case!3 \(Disabled\)
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-test4-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-test4-stdout.txt
index c40be9e..0f7dde7 100644
--- a/Tests/RunCMake/GoogleTest/GoogleTest-test4-stdout.txt
+++ b/Tests/RunCMake/GoogleTest/GoogleTest-test4-stdout.txt
@@ -1,13 +1,13 @@
Test project .*
- Start 57: TEST:typed/short\.case!4
-1/4 Test #57: TEST:typed/short\.case!4 \.+ +Passed +[0-9.]+ sec
- Start 58: TEST:typed/float\.case!4
-2/4 Test #58: TEST:typed/float\.case!4 \.+ +Passed +[0-9.]+ sec
- Start 59: TEST:ns\.typed/short\.case!4
-3/4 Test #59: TEST:ns\.typed/short\.case!4 \.+ +Passed +[0-9.]+ sec
- Start 60: TEST:ns\.typed/float\.case!4
-4/4 Test #60: TEST:ns\.typed/float\.case!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed/short\.case!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed/short\.case!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed/float\.case!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed/float\.case!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed/short\.case!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed/short\.case!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed/float\.case!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed/float\.case!4 \.+ +Passed +[0-9.]+ sec
-100% tests passed, 0 tests failed out of 4
+100% tests passed, 0 tests failed out of [0-9]+
Total Test time \(real\) = +[0-9.]+ sec
diff --git a/Tests/RunCMake/GoogleTest/fake_gtest.cpp b/Tests/RunCMake/GoogleTest/fake_gtest.cpp
index 36f1d3c..aa6468c 100644
--- a/Tests/RunCMake/GoogleTest/fake_gtest.cpp
+++ b/Tests/RunCMake/GoogleTest/fake_gtest.cpp
@@ -57,6 +57,10 @@ int main(int argc, char** argv)
std::cout << " case/0 # GetParam() = \"semicolon;\"" << std::endl;
std::cout << " case/1 # GetParam() = \"backslash\\\"" << std::endl;
std::cout << " case/2 # GetParam() = \"${var}\"" << std::endl;
+ std::cout << " case/3 # GetParam() = '['" << std::endl;
+ std::cout << " case/4 # GetParam() = \"]]=]\"" << std::endl;
+ std::cout << " case/5 # GetParam() = \"__osbtext\"" << std::endl;
+ std::cout << " case/6 # GetParam() = \"__csb___text\"" << std::endl;
}
}
return 0;