From d6b06d8d876a1cd240f347cdebe527354cb6fd2a Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Mon, 10 Sep 2018 16:20:40 +0800 Subject: GoogleTest: Modify test to verify that empty files can be scanned The modified test confirms the bug described in issue #18321. --- Tests/GoogleTest/Test/CMakeLists.txt | 7 ++++--- Tests/GoogleTest/Test/empty.cxx | 0 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 Tests/GoogleTest/Test/empty.cxx diff --git a/Tests/GoogleTest/Test/CMakeLists.txt b/Tests/GoogleTest/Test/CMakeLists.txt index f798d31..baf00d5 100644 --- a/Tests/GoogleTest/Test/CMakeLists.txt +++ b/Tests/GoogleTest/Test/CMakeLists.txt @@ -44,12 +44,13 @@ endif() set_tests_properties(set2.GoogleTest.ConditionalFail.foo PROPERTIES WILL_FAIL YES) -# Search specific sources to get the test list -add_executable(test_gtest2 main2.cxx) +# Search specific sources to get the test list. Include an empty file +# to ensure they are handled correctly too. +add_executable(test_gtest2 main2.cxx empty.cxx) target_link_libraries(test_gtest2 GTest::Main) gtest_add_tests(TARGET test_gtest2 TEST_LIST testList - SOURCES main2.h + SOURCES main2.h empty.cxx ) set(expectedTests GoogleTest.SomethingElse diff --git a/Tests/GoogleTest/Test/empty.cxx b/Tests/GoogleTest/Test/empty.cxx new file mode 100644 index 0000000..e69de29 -- cgit v0.12 From 31c82143bfdb1d9bc5e6282f3341fc09a0ab2234 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Mon, 3 Sep 2018 09:53:43 -0400 Subject: GoogleTest: gtest_add_tests() fails if any source file is empty Fixes #18321 --- Modules/GoogleTest.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/GoogleTest.cmake b/Modules/GoogleTest.cmake index 2c9ee11..a5bb863 100644 --- a/Modules/GoogleTest.cmake +++ b/Modules/GoogleTest.cmake @@ -308,7 +308,7 @@ function(gtest_add_tests) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${source}) endif() file(READ "${source}" contents) - string(REGEX MATCHALL "${gtest_test_type_regex} *\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents}) + string(REGEX MATCHALL "${gtest_test_type_regex} *\\(([A-Za-z_0-9 ,]+)\\)" found_tests "${contents}") foreach(hit ${found_tests}) string(REGEX MATCH "${gtest_test_type_regex}" test_type ${hit}) -- cgit v0.12