summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-12-08 16:22:29 (GMT)
committerBrad King <brad.king@kitware.com>2021-12-08 16:36:50 (GMT)
commit7c5a120c38a90ee2ac262371410b5e31fd6f52be (patch)
tree7cdec3639545669c33f49668386b7592fd49ef8e /Tests
parent04deda1d2a750fe609f3f2ab02e3068e1d152fb3 (diff)
downloadCMake-7c5a120c38a90ee2ac262371410b5e31fd6f52be.zip
CMake-7c5a120c38a90ee2ac262371410b5e31fd6f52be.tar.gz
CMake-7c5a120c38a90ee2ac262371410b5e31fd6f52be.tar.bz2
Tests: Add case covering both ctest subdirectory commands
CTest re-implements the `subdirs` and `add_subdirectory` commands. Verify that they both work.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake32
-rw-r--r--Tests/RunCMake/CTestCommandLine/Subdirectories-stdout.txt8
2 files changed, 40 insertions, 0 deletions
diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
index 4b654f8..7da95a2 100644
--- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
@@ -85,6 +85,38 @@ subdirs()
endfunction()
run_BadCTestTestfile()
+function(run_Subdirectories)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Subdirectories)
+ set(RunCMake_TEST_NO_CLEAN 1)
+ file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}/add_subdirectory")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}/add_subdirectory/sub")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}/subdirs")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}/subdirs/sub")
+ file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" "
+add_subdirectory(add_subdirectory)
+subdirs(subdirs)
+")
+ file(WRITE "${RunCMake_TEST_BINARY_DIR}/add_subdirectory/CTestTestfile.cmake" "
+add_test(add_subdirectory \"${CMAKE_COMMAND}\" -E echo add_subdirectory)
+add_subdirectory(sub)
+")
+ file(WRITE "${RunCMake_TEST_BINARY_DIR}/add_subdirectory/sub/CTestTestfile.cmake" "
+add_test(add_subdirectory.sub \"${CMAKE_COMMAND}\" -E echo add_subdirectory.sub)
+")
+ file(WRITE "${RunCMake_TEST_BINARY_DIR}/subdirs/CTestTestfile.cmake" "
+add_test(subdirs \"${CMAKE_COMMAND}\" -E echo subdirs)
+subdirs(sub)
+")
+ file(WRITE "${RunCMake_TEST_BINARY_DIR}/subdirs/sub/CTestTestfile.cmake" "
+add_test(subdirs.sub \"${CMAKE_COMMAND}\" -E echo subdirs.sub)
+")
+
+ run_cmake_command(Subdirectories ${CMAKE_CTEST_COMMAND} -N)
+endfunction()
+run_Subdirectories()
+
function(run_MergeOutput)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/MergeOutput)
set(RunCMake_TEST_NO_CLEAN 1)
diff --git a/Tests/RunCMake/CTestCommandLine/Subdirectories-stdout.txt b/Tests/RunCMake/CTestCommandLine/Subdirectories-stdout.txt
new file mode 100644
index 0000000..770609a
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/Subdirectories-stdout.txt
@@ -0,0 +1,8 @@
+^Test project [^
+]*/Tests/RunCMake/CTestCommandLine/Subdirectories
+ Test #1: add_subdirectory
+ Test #2: add_subdirectory\.sub
+ Test #3: subdirs
+ Test #4: subdirs\.sub
++
+Total Tests: 4$