diff options
author | Brad King <brad.king@kitware.com> | 2021-07-29 12:44:13 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-07-29 12:44:28 (GMT) |
commit | a8eabcc357fdd45fef403f6e64ce0eb0b03329eb (patch) | |
tree | fad3c4454f1d11ca3e79851b1f6a8ef92f6230cc | |
parent | c2dd240f0072d3f0aa36c33507ad52d2d2d64980 (diff) | |
parent | d2515f77e19959e2b8d92f9e313fb0b517a13916 (diff) | |
download | CMake-a8eabcc357fdd45fef403f6e64ce0eb0b03329eb.zip CMake-a8eabcc357fdd45fef403f6e64ce0eb0b03329eb.tar.gz CMake-a8eabcc357fdd45fef403f6e64ce0eb0b03329eb.tar.bz2 |
Merge topic 'ctest-test-changing-labels'
d2515f77e1 Merge branch 'master' into ctest-test-changing-labels
26170ea306 CTest: Reset multi-options to persistent multi-options
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6403
-rw-r--r-- | Source/CTest/cmCTestGenericHandler.cxx | 6 | ||||
-rw-r--r-- | Tests/RunCMake/ctest_test/RunCMakeTest.cmake | 13 | ||||
-rw-r--r-- | Tests/RunCMake/ctest_test/test.cmake.in | 7 |
3 files changed, 21 insertions, 5 deletions
diff --git a/Source/CTest/cmCTestGenericHandler.cxx b/Source/CTest/cmCTestGenericHandler.cxx index cc756d7..48cc0e4 100644 --- a/Source/CTest/cmCTestGenericHandler.cxx +++ b/Source/CTest/cmCTestGenericHandler.cxx @@ -68,10 +68,8 @@ void cmCTestGenericHandler::Initialize() { this->AppendXML = false; this->TestLoad = 0; - this->Options.clear(); - for (auto const& po : this->PersistentOptions) { - this->Options[po.first] = po.second; - } + this->Options = this->PersistentOptions; + this->MultiOptions = this->PersistentMultiOptions; } const char* cmCTestGenericHandler::GetOption(const std::string& op) diff --git a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake index a211c66..de81049 100644 --- a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake @@ -194,6 +194,19 @@ add_test( endfunction() run_completion_status() +# Verify that running ctest_test() multiple times with different label arguments +# doesn't break. +function(run_changing_labels) + set(CASE_CMAKELISTS_SUFFIX_CODE [[ +add_test(NAME a COMMAND ${CMAKE_COMMAND} -E true) +set_property(TEST a PROPERTY LABELS a) +add_test(NAME b COMMAND ${CMAKE_COMMAND} -E true) +set_property(TEST b PROPERTY LABELS b) + ]]) + run_ctest(TestChangingLabels) +endfunction() +run_changing_labels() + # Verify that test output can add additional labels function(run_extra_labels) set(CASE_CMAKELISTS_SUFFIX_CODE [[ diff --git a/Tests/RunCMake/ctest_test/test.cmake.in b/Tests/RunCMake/ctest_test/test.cmake.in index 50b936d..36b1dbd 100644 --- a/Tests/RunCMake/ctest_test/test.cmake.in +++ b/Tests/RunCMake/ctest_test/test.cmake.in @@ -15,4 +15,9 @@ set(ctest_test_args "@CASE_CTEST_TEST_ARGS@") ctest_start(Experimental) ctest_configure() ctest_build() -ctest_test(${ctest_test_args}) +if("@CASE_NAME@" STREQUAL "TestChangingLabels") + ctest_test(${ctest_test_args} INCLUDE_LABEL "^a$") + ctest_test(${ctest_test_args} INCLUDE_LABEL "^b$") +else() + ctest_test(${ctest_test_args}) +endif() |