summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-03-08 21:05:34 (GMT)
committerBrad King <brad.king@kitware.com>2024-03-08 21:06:35 (GMT)
commitd52c66bfb3ec6bbf79fab9ef6ff4cdc9ba27a45b (patch)
treeec5273dca8b998b89757b7c52275f0e0580e7caf /Tests
parent8673264e25b4abfb3b328131d983e7668a8c5e1a (diff)
downloadCMake-d52c66bfb3ec6bbf79fab9ef6ff4cdc9ba27a45b.zip
CMake-d52c66bfb3ec6bbf79fab9ef6ff4cdc9ba27a45b.tar.gz
CMake-d52c66bfb3ec6bbf79fab9ef6ff4cdc9ba27a45b.tar.bz2
ctest: Honor tests-from-file options with empty input
If the `--tests-from-file` input file is empty, no tests should run.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake2
-rw-r--r--Tests/RunCMake/CTestCommandLine/TestsFromFile-TestList-empty.txt0
-rw-r--r--Tests/RunCMake/CTestCommandLine/TestsFromFile-exclude-empty-stdout.txt10
-rw-r--r--Tests/RunCMake/CTestCommandLine/TestsFromFile-include-empty-stderr.txt1
-rw-r--r--Tests/RunCMake/ctest_test/RunCMakeTest.cmake2
-rw-r--r--Tests/RunCMake/ctest_test/TestsFromFile-TestList-empty.txt0
-rw-r--r--Tests/RunCMake/ctest_test/TestsFromFile-exclude-empty-stdout.txt12
-rw-r--r--Tests/RunCMake/ctest_test/TestsFromFile-include-empty-result.txt1
-rw-r--r--Tests/RunCMake/ctest_test/TestsFromFile-include-empty-stderr.txt1
9 files changed, 29 insertions, 0 deletions
diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
index 8c3065e..a5e8037 100644
--- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
@@ -223,6 +223,8 @@ add_test(Test11 \"${CMAKE_COMMAND}\" -E echo \"test11\")
endfunction()
run_TestsFromFileTest(include --tests-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
run_TestsFromFileTest(exclude --exclude-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
+run_TestsFromFileTest(include-empty --tests-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-empty.txt)
+run_TestsFromFileTest(exclude-empty --exclude-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-empty.txt)
run_TestsFromFileTest(include-missing --tests-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-missing.txt)
run_TestsFromFileTest(exclude-missing --exclude-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-missing.txt)
diff --git a/Tests/RunCMake/CTestCommandLine/TestsFromFile-TestList-empty.txt b/Tests/RunCMake/CTestCommandLine/TestsFromFile-TestList-empty.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/TestsFromFile-TestList-empty.txt
diff --git a/Tests/RunCMake/CTestCommandLine/TestsFromFile-exclude-empty-stdout.txt b/Tests/RunCMake/CTestCommandLine/TestsFromFile-exclude-empty-stdout.txt
new file mode 100644
index 0000000..64a5473
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/TestsFromFile-exclude-empty-stdout.txt
@@ -0,0 +1,10 @@
+Test project [^
+]*/Tests/RunCMake/CTestCommandLine/TestsFromFile-exclude-empty
+ +Start 1: Test1
+1/3 Test #1: Test1 ............................ Passed +[0-9.]+ sec
+ +Start 2: Test2
+2/3 Test #2: Test2 ............................ Passed +[0-9.]+ sec
+ +Start 3: Test11
+3/3 Test #3: Test11 ........................... Passed +[0-9.]+ sec
++
+100% tests passed, 0 tests failed out of 3
diff --git a/Tests/RunCMake/CTestCommandLine/TestsFromFile-include-empty-stderr.txt b/Tests/RunCMake/CTestCommandLine/TestsFromFile-include-empty-stderr.txt
new file mode 100644
index 0000000..a7c4b11
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/TestsFromFile-include-empty-stderr.txt
@@ -0,0 +1 @@
+^No tests were found!!!$
diff --git a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake
index e2c41a0..768b0be 100644
--- a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake
+++ b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake
@@ -177,6 +177,8 @@ add_test(NAME Test11 COMMAND ${CMAKE_COMMAND} -E true)
endfunction()
run_tests_from_file(include INCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
run_tests_from_file(exclude EXCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
+run_tests_from_file(include-empty INCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-empty.txt)
+run_tests_from_file(exclude-empty EXCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-empty.txt)
run_tests_from_file(include-missing INCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-missing.txt)
run_tests_from_file(exclude-missing EXCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList-missing.txt)
diff --git a/Tests/RunCMake/ctest_test/TestsFromFile-TestList-empty.txt b/Tests/RunCMake/ctest_test/TestsFromFile-TestList-empty.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/ctest_test/TestsFromFile-TestList-empty.txt
diff --git a/Tests/RunCMake/ctest_test/TestsFromFile-exclude-empty-stdout.txt b/Tests/RunCMake/ctest_test/TestsFromFile-exclude-empty-stdout.txt
new file mode 100644
index 0000000..a0faf57
--- /dev/null
+++ b/Tests/RunCMake/ctest_test/TestsFromFile-exclude-empty-stdout.txt
@@ -0,0 +1,12 @@
+Test project [^
+]*/Tests/RunCMake/ctest_test/TestsFromFile-exclude-empty-build
+ +Start 1: RunCMakeVersion
+1/4 Test #1: RunCMakeVersion .................. Passed +[0-9.]+ sec
+ +Start 2: Test1
+2/4 Test #2: Test1 ............................ Passed +[0-9.]+ sec
+ +Start 3: Test2
+3/4 Test #3: Test2 ............................ Passed +[0-9.]+ sec
+ +Start 4: Test11
+4/4 Test #4: Test11 ........................... Passed +[0-9.]+ sec
++
+100% tests passed, 0 tests failed out of 4
diff --git a/Tests/RunCMake/ctest_test/TestsFromFile-include-empty-result.txt b/Tests/RunCMake/ctest_test/TestsFromFile-include-empty-result.txt
new file mode 100644
index 0000000..b57e2de
--- /dev/null
+++ b/Tests/RunCMake/ctest_test/TestsFromFile-include-empty-result.txt
@@ -0,0 +1 @@
+(-1|255)
diff --git a/Tests/RunCMake/ctest_test/TestsFromFile-include-empty-stderr.txt b/Tests/RunCMake/ctest_test/TestsFromFile-include-empty-stderr.txt
new file mode 100644
index 0000000..a7c4b11
--- /dev/null
+++ b/Tests/RunCMake/ctest_test/TestsFromFile-include-empty-stderr.txt
@@ -0,0 +1 @@
+^No tests were found!!!$