Browse Source

Tests/Environment: also test modifying ambient values

Ben Boeckel 4 years ago
parent
commit
9c4d6404eb
3 changed files with 24 additions and 0 deletions
  1. 7 0
      Tests/CMakeLists.txt
  2. 8 0
      Tests/Environment/CMakeLists.txt
  3. 9 0
      Tests/Environment/check_mod.cmake

+ 7 - 0
Tests/CMakeLists.txt

@@ -1379,6 +1379,13 @@ if(BUILD_TESTING)
     --test-command ${CMAKE_CTEST_COMMAND} -V
     )
   list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Environment")
+  set_property(TEST Environment APPEND
+    PROPERTY ENVIRONMENT
+      "SET_FROM_AMBIENT_unset=base"
+      "SET_FROM_AMBIENT_replace=base"
+      "SET_FROM_AMBIENT_string=base"
+      "SET_FROM_AMBIENT_path=base"
+      "SET_FROM_AMBIENT_list=base")
 
   add_test(QtAutomocNoQt  ${CMAKE_CTEST_COMMAND}
     --build-and-test

+ 8 - 0
Tests/Environment/CMakeLists.txt

@@ -37,6 +37,14 @@ set_property(TEST EchoEnvironment3
 
 set_property(TEST EchoEnvironment3
   PROPERTY ENVIRONMENT_MODIFICATION
+    # Modifying variables set in the ambient environment (see properties for
+    # this test in `Tests/CMakeLists.txt`).
+    "SET_FROM_AMBIENT_unset=unset:"
+    "SET_FROM_AMBIENT_replace=set:new"
+    "SET_FROM_AMBIENT_string=string_append:new"
+    "SET_FROM_AMBIENT_path=path_list_append:new"
+    "SET_FROM_AMBIENT_list=cmake_list_append:new"
+
     # Modifying variables set in the `ENVIRONMENT` property.
     "SET_FROM_ENVIRONMENT_PROPERTY_unset=unset:"
     "SET_FROM_ENVIRONMENT_PROPERTY_replace=set:new"

+ 9 - 0
Tests/Environment/check_mod.cmake

@@ -14,6 +14,7 @@ else ()
   set(path_sep ":")
 endif ()
 
+set(unexpect_SET_FROM_AMBIENT_unset "")
 set(unexpect_SET_FROM_ENVIRONMENT_PROPERTY_unset "")
 set(unexpect_UNSET_EXPLICIT "")
 set(unexpect_UNSET_VIA_RESET "")
@@ -24,12 +25,20 @@ 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_AMBIENT_replace "new")
+set(expect_SET_FROM_AMBIENT_string "basenew")
+set(expect_SET_FROM_AMBIENT_path "base${path_sep}new")
+set(expect_SET_FROM_AMBIENT_list "base;new")
 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_AMBIENT_replace
+  SET_FROM_AMBIENT_string
+  SET_FROM_AMBIENT_path
+  SET_FROM_AMBIENT_list
   SET_FROM_ENVIRONMENT_PROPERTY_replace
   SET_FROM_ENVIRONMENT_PROPERTY_string
   SET_FROM_ENVIRONMENT_PROPERTY_path