summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-07-29 12:44:13 (GMT)
committerKitware Robot <kwrobot@kitware.com>2021-07-29 12:44:28 (GMT)
commita8eabcc357fdd45fef403f6e64ce0eb0b03329eb (patch)
treefad3c4454f1d11ca3e79851b1f6a8ef92f6230cc
parentc2dd240f0072d3f0aa36c33507ad52d2d2d64980 (diff)
parentd2515f77e19959e2b8d92f9e313fb0b517a13916 (diff)
downloadCMake-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.cxx6
-rw-r--r--Tests/RunCMake/ctest_test/RunCMakeTest.cmake13
-rw-r--r--Tests/RunCMake/ctest_test/test.cmake.in7
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()