Przeglądaj źródła

GoogleTest: Add tests for NO_PRETTY_VALUES and NO_PRETTY_TYPES

Co-Authored-By: Dennis Lambe Jr. <[email protected]>
Ottmar Zittlau 5 miesięcy temu
rodzic
commit
07d14c21a9

+ 8 - 0
Tests/RunCMake/GoogleTest/GoogleTest-discovery-arg-change-typed-stdout.txt

@@ -11,5 +11,13 @@ Test project .*/Tests/RunCMake/GoogleTest/GoogleTest-discovery-arg-change
   Test +#[0-9]+: prefix/typed\.case<float>
   Test +#[0-9]+: prefix/typed\.case<char>
   Test +#[0-9]+: prefix/typed/named\.  # TypeParam = int\.case<prefix/typed/named\.  # TypeParam = int>
+  Test +#[0-9]+: both_suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>
+  Test +#[0-9]+: both_suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>
+  Test +#[0-9]+: both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>
+  Test +#[0-9]+: both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>
+  Test +#[0-9]+: ns\.both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>
+  Test +#[0-9]+: ns\.both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>
+  Test +#[0-9]+: prefix/both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>
+  Test +#[0-9]+: prefix/both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>
 
 Total Tests: [0-9]+

+ 16 - 0
Tests/RunCMake/GoogleTest/GoogleTest-test4-stdout.txt

@@ -23,6 +23,22 @@ Test project .*
  *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/typed\.case<char>!4 \.+ +Passed +[0-9.]+ sec
  *Start +[0-9]+: TEST:prefix/typed/named\.  # TypeParam = int\.case<prefix/typed/named\.  # TypeParam = int>!4
  *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/typed/named\.  # TypeParam = int\.case<prefix/typed/named\.  # TypeParam = int>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!4
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!4 \.+ +Passed +[0-9.]+ sec
 
 100% tests passed, 0 tests failed out of [0-9]+
 

+ 87 - 0
Tests/RunCMake/GoogleTest/GoogleTest-test5-stdout.txt

@@ -0,0 +1,87 @@
+Test project .*
+ *Start +[0-9]+: TEST:value/test\.case/0!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:value/test\.case/0!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:value/test\.case/1!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:value/test\.case/1!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:value/test\.case/named!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:value/test\.case/named!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.value/test\.case/0!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.value/test\.case/0!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.value/test\.case/1!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.value/test\.case/1!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.value/test\.case/named!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.value/test\.case/named!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/value/test\.case/0!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/value/test\.case/0!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/value/test\.case/1!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/value/test\.case/1!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/value/test\.case/named!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/value/test\.case/named!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/0!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/0!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/1!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/1!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/2!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/2!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/3!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/3!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/4!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/4!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/5!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/5!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/6!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/6!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:param/special\.case/7!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:param/special\.case/7!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/0!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/0!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/1!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/1!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/2!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/2!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/3!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/3!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/4!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/4!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/5!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/5!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/6!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/6!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.param/special\.case/7!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.param/special\.case/7!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/0!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/0!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/1!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/1!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/2!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/2!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/3!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/3!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/4!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/4!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/5!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/5!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/6!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/6!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/param/special\.case/7!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/param/special\.case/7!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test<both_suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test<both_suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test<both_suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test<both_suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test<both/suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test<both/suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test<both/suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test<both/suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test<ns\.both/suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test<ns\.both/suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test<ns\.both/suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test<ns\.both/suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test<prefix/both/suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test<prefix/both/suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test<prefix/both/suite\.  # TypeParam = TYPE>!5
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test<prefix/both/suite\.  # TypeParam = TYPE>!5 \.+ +Passed +[0-9.]+ sec
+
+100% tests passed, 0 tests failed out of [0-9]+
+
+Total Test time \(real\) = +[0-9.]+ sec

+ 45 - 0
Tests/RunCMake/GoogleTest/GoogleTest-test6-stdout.txt

@@ -0,0 +1,45 @@
+Test project .*
+ *Start +[0-9]+: TEST:typed\.case<0>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed\.case<0>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed\.case<1>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed\.case<1>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed\.case<42>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed\.case<42>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:typed/named\.  # TypeParam = int\.case<typed/named\.  # TypeParam = int>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:typed/named\.  # TypeParam = int\.case<typed/named\.  # TypeParam = int>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed\.case<0>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed\.case<0>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed\.case<1>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed\.case<1>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed\.case<42>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed\.case<42>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.typed/named\.  # TypeParam = int\.case<ns\.typed/named\.  # TypeParam = int>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.typed/named\.  # TypeParam = int\.case<ns\.typed/named\.  # TypeParam = int>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/typed\.case<0>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/typed\.case<0>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/typed\.case<1>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/typed\.case<1>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/typed\.case<42>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/typed\.case<42>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/typed/named\.  # TypeParam = int\.case<prefix/typed/named\.  # TypeParam = int>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/typed/named\.  # TypeParam = int\.case<prefix/typed/named\.  # TypeParam = int>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both_suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<both/suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<ns\.both/suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!6
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test  # GetParam\(\) = VALUE<prefix/both/suite\.  # TypeParam = TYPE>!6 \.+ +Passed +[0-9.]+ sec
+
+100% tests passed, 0 tests failed out of [0-9]+
+
+Total Test time \(real\) = +[0-9.]+ sec

+ 21 - 0
Tests/RunCMake/GoogleTest/GoogleTest-test7-stdout.txt

@@ -0,0 +1,21 @@
+Test project .*
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test<both_suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.test<both_suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test<both_suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both_suite\.  # TypeParam = TYPE\.case/test<both_suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test<both/suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.test<both/suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test<both/suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:both/suite\.  # TypeParam = TYPE\.case/test<both/suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test<ns\.both/suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.test<ns\.both/suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test<ns\.both/suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:ns\.both/suite\.  # TypeParam = TYPE\.case/test<ns\.both/suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test<prefix/both/suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.test<prefix/both/suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+ *Start +[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test<prefix/both/suite\.  # TypeParam = TYPE>!7
+ *[0-9]+/[0-9]+ +Test +#[0-9]+: TEST:prefix/both/suite\.  # TypeParam = TYPE\.case/test<prefix/both/suite\.  # TypeParam = TYPE>!7 \.+ +Passed +[0-9.]+ sec
+
+100% tests passed, 0 tests failed out of [0-9]+
+
+Total Test time \(real\) = +[0-9.]+ sec

+ 31 - 0
Tests/RunCMake/GoogleTest/GoogleTest.cmake

@@ -42,6 +42,37 @@ gtest_discover_tests(
   PROPERTIES LABELS TEST4
 )
 
+gtest_discover_tests(
+  fake_gtest
+  TEST_PREFIX TEST:
+  TEST_SUFFIX !5
+  TEST_FILTER value*
+  EXTRA_ARGS how now "\"brown\" cow"
+  PROPERTIES LABELS TEST5
+  NO_PRETTY_VALUES
+)
+
+gtest_discover_tests(
+  fake_gtest
+  TEST_PREFIX TEST:
+  TEST_SUFFIX !6
+  TEST_FILTER typed*
+  EXTRA_ARGS how now "\"brown\" cow"
+  PROPERTIES LABELS TEST6
+  NO_PRETTY_TYPES
+)
+
+gtest_discover_tests(
+  fake_gtest
+  TEST_PREFIX TEST:
+  TEST_SUFFIX !7
+  TEST_FILTER dynamic*
+  EXTRA_ARGS how now "\"brown\" cow"
+  PROPERTIES LABELS TEST7
+  NO_PRETTY_VALUES
+  NO_PRETTY_TYPES
+)
+
 add_executable(no_tests_defined no_tests_defined.cpp)
 xcode_sign_adhoc(no_tests_defined)
 

+ 21 - 0
Tests/RunCMake/GoogleTest/RunCMakeTest.cmake

@@ -65,6 +65,27 @@ function(run_GoogleTest DISCOVERY_MODE)
     --no-label-summary
   )
 
+  run_cmake_command(GoogleTest-test5
+    ${CMAKE_CTEST_COMMAND}
+    -C Debug
+    -L TEST5
+    --no-label-summary
+  )
+
+  run_cmake_command(GoogleTest-test6
+    ${CMAKE_CTEST_COMMAND}
+    -C Debug
+    -L TEST6
+    --no-label-summary
+  )
+
+  run_cmake_command(GoogleTest-test7
+    ${CMAKE_CTEST_COMMAND}
+    -C Debug
+    -L TEST7
+    --no-label-summary
+  )
+
   run_cmake_command(GoogleTest-test-missing
     ${CMAKE_CTEST_COMMAND}
     -C Debug

+ 14 - 8
Tests/RunCMake/GoogleTest/fake_gtest.cpp

@@ -11,13 +11,17 @@ int main(int argc, char** argv)
   // to test the module without actually needing Google Test.
   bool is_filtered =
     argc > 2 && std::string(argv[2]).find("--gtest_filter=") == 0;
-  bool is_basic_only =
-    is_filtered && std::string(argv[2]).find("basic*") != std::string::npos;
-  bool is_typed_only =
-    is_filtered && std::string(argv[2]).find("typed*") != std::string::npos;
+  bool add_basic_tests =
+    !is_filtered || (std::string(argv[2]).find("basic*") != std::string::npos);
+  bool add_typed_tests =
+    !is_filtered || (std::string(argv[2]).find("typed*") != std::string::npos);
+  bool add_value_tests =
+    !is_filtered || (std::string(argv[2]).find("value*") != std::string::npos);
+  bool add_dynamic_tests = !is_filtered ||
+    (std::string(argv[2]).find("dynamic*") != std::string::npos);
 
   if (argc > 1 && std::string(argv[1]) == "--gtest_list_tests") {
-    if (!is_typed_only) {
+    if (add_basic_tests) {
       char const* basic_suite_names[] = { "basic.", "ns.basic." };
       for (size_t i = 0; i < ARRAY_SIZE(basic_suite_names); i++) {
         std::cout << basic_suite_names[i] << std::endl;
@@ -27,13 +31,13 @@ int main(int argc, char** argv)
         std::cout << "  DISABLEDnot_really_case" << std::endl;
       }
     }
-    if (!is_basic_only && !is_typed_only) {
+    if (!is_filtered) {
       std::cout << "DISABLED_disabled." << std::endl;
       std::cout << "  case" << std::endl;
       std::cout << "DISABLEDnotreally." << std::endl;
       std::cout << "  case" << std::endl;
     }
-    if (!is_basic_only) {
+    if (add_typed_tests) {
       char const* typed_suite_names[] = { "typed", "ns.typed",
                                           "prefix/typed" };
       for (size_t i = 0; i < ARRAY_SIZE(typed_suite_names); i++) {
@@ -47,7 +51,7 @@ int main(int argc, char** argv)
         std::cout << "  case" << std::endl;
       }
     }
-    if (!is_basic_only && !is_typed_only) {
+    if (add_value_tests) {
       char const* value_suite_names[] = { "value", "ns.value",
                                           "prefix/value" };
       for (size_t i = 0; i < ARRAY_SIZE(value_suite_names); i++) {
@@ -69,6 +73,8 @@ int main(int argc, char** argv)
         std::cout << "  case/6  # GetParam() = \"__csb___text\"" << std::endl;
         std::cout << "  case/7  # GetParam() = \"S o m  e   \"" << std::endl;
       }
+    }
+    if (add_value_tests || add_typed_tests || add_dynamic_tests) {
       char const* both_suite_names[] = { "both_suite", "both/suite",
                                          "ns.both/suite",
                                          "prefix/both/suite" };