diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2021-10-29 13:50:41 (GMT) |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2021-10-29 14:54:02 (GMT) |
commit | 7d52d48a329d6a1c456b48f63c980cce799f3a9c (patch) | |
tree | 5f924910ba27f6b9445a9c6eac14a755305175af /Tests | |
parent | 4572c40df58465b17ca4ed29e7e741725c00db7f (diff) | |
download | CMake-7d52d48a329d6a1c456b48f63c980cce799f3a9c.zip CMake-7d52d48a329d6a1c456b48f63c980cce799f3a9c.tar.gz CMake-7d52d48a329d6a1c456b48f63c980cce799f3a9c.tar.bz2 |
cmCTestRunTest: get the default value from the environment
This only works due to some assumptions about how the `ENVIRONMENT`
property is processed. Comments have been added to notify anyone
modifying the behavior about where to look.
Fixes: #22819
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/Environment/CMakeLists.txt | 16 | ||||
-rw-r--r-- | Tests/Environment/check_mod.cmake | 9 |
2 files changed, 25 insertions, 0 deletions
diff --git a/Tests/Environment/CMakeLists.txt b/Tests/Environment/CMakeLists.txt index 5f1edbf..9397bfe 100644 --- a/Tests/Environment/CMakeLists.txt +++ b/Tests/Environment/CMakeLists.txt @@ -27,7 +27,23 @@ set_tests_properties(Environment2 EchoEnvironment2 PROPERTIES ) set_property(TEST EchoEnvironment3 + PROPERTY ENVIRONMENT + "SET_FROM_ENVIRONMENT_PROPERTY_unset=base" + "SET_FROM_ENVIRONMENT_PROPERTY_replace=base" + "SET_FROM_ENVIRONMENT_PROPERTY_string=base" + "SET_FROM_ENVIRONMENT_PROPERTY_path=base" + "SET_FROM_ENVIRONMENT_PROPERTY_list=base" +) + +set_property(TEST EchoEnvironment3 PROPERTY ENVIRONMENT_MODIFICATION + # Modifying variables set in the `ENVIRONMENT` property. + "SET_FROM_ENVIRONMENT_PROPERTY_unset=unset:" + "SET_FROM_ENVIRONMENT_PROPERTY_replace=set:new" + "SET_FROM_ENVIRONMENT_PROPERTY_string=string_append:new" + "SET_FROM_ENVIRONMENT_PROPERTY_path=path_list_append:new" + "SET_FROM_ENVIRONMENT_PROPERTY_list=cmake_list_append:new" + # Variables expected to be unset. "UNSET_EXPLICIT=set:value" "UNSET_EXPLICIT=unset:" diff --git a/Tests/Environment/check_mod.cmake b/Tests/Environment/check_mod.cmake index 179bd7a..0691b17 100644 --- a/Tests/Environment/check_mod.cmake +++ b/Tests/Environment/check_mod.cmake @@ -14,6 +14,7 @@ else () set(path_sep ":") endif () +set(unexpect_SET_FROM_ENVIRONMENT_PROPERTY_unset "") set(unexpect_UNSET_EXPLICIT "") set(unexpect_UNSET_VIA_RESET "") set(expect_DIRECT "new") @@ -23,8 +24,16 @@ set(expect_CMAKE_LIST_MANIP "prefix;pre;core;post;suffix") set(expect_STRING_DNE "prefix-prepost-suffix") set(expect_PATH_DNE "prefix${path_sep}pre${path_sep}post${path_sep}suffix") set(expect_CMAKE_LIST_DNE "prefix;pre;post;suffix") +set(expect_SET_FROM_ENVIRONMENT_PROPERTY_replace "new") +set(expect_SET_FROM_ENVIRONMENT_PROPERTY_string "basenew") +set(expect_SET_FROM_ENVIRONMENT_PROPERTY_path "base${path_sep}new") +set(expect_SET_FROM_ENVIRONMENT_PROPERTY_list "base;new") set(expected_vars + SET_FROM_ENVIRONMENT_PROPERTY_replace + SET_FROM_ENVIRONMENT_PROPERTY_string + SET_FROM_ENVIRONMENT_PROPERTY_path + SET_FROM_ENVIRONMENT_PROPERTY_list DIRECT STRING_MANIP PATH_MANIP |