From 7c5a120c38a90ee2ac262371410b5e31fd6f52be Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 8 Dec 2021 11:22:29 -0500 Subject: Tests: Add case covering both ctest subdirectory commands CTest re-implements the `subdirs` and `add_subdirectory` commands. Verify that they both work. --- Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake | 32 ++++++++++++++++++++++ .../CTestCommandLine/Subdirectories-stdout.txt | 8 ++++++ 2 files changed, 40 insertions(+) create mode 100644 Tests/RunCMake/CTestCommandLine/Subdirectories-stdout.txt 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$ -- cgit v0.12