|
|
@@ -744,6 +744,10 @@ run_cmake_command(E_cat-without-double-dash ${CMAKE_COMMAND} -E cat "-file-start
|
|
|
unset(RunCMake_TEST_COMMAND_WORKING_DIRECTORY)
|
|
|
unset(out)
|
|
|
|
|
|
+# Unset environment variables that are used for testing cmake -E
|
|
|
+unset(ENV{TEST_ENV})
|
|
|
+unset(ENV{TEST_ENV_EXPECTED})
|
|
|
+
|
|
|
run_cmake_command(E_env-no-command0 ${CMAKE_COMMAND} -E env)
|
|
|
run_cmake_command(E_env-no-command1 ${CMAKE_COMMAND} -E env TEST_ENV=1)
|
|
|
run_cmake_command(E_env-bad-arg1 ${CMAKE_COMMAND} -E env -bad-arg1)
|
|
|
@@ -758,6 +762,56 @@ file(COPY_FILE "${EXIT_CODE_EXE}" "${RunCMake_BINARY_DIR}/env=${exit_code}")
|
|
|
run_cmake_command(E_env-with-double-dash ${CMAKE_COMMAND} -E env TEST_ENV=1 -- "${RunCMake_BINARY_DIR}/env=${exit_code}" zero_exit)
|
|
|
run_cmake_command(E_env-without-double-dash ${CMAKE_COMMAND} -E env TEST_ENV=1 "${RunCMake_BINARY_DIR}/env=${exit_code}" zero_exit)
|
|
|
|
|
|
+## Tests of env --modify
|
|
|
+# Repeat the same tests as above
|
|
|
+run_cmake_command(E_env_modify-set ${CMAKE_COMMAND} -E env --modify TEST_ENV=set:1 ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/E_env-set.cmake)
|
|
|
+run_cmake_command(E_env_modify-unset ${CMAKE_COMMAND} -E env --modify TEST_ENV=set:1 ${CMAKE_COMMAND} -E env --modify TEST_ENV=unset: ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/E_env-unset.cmake)
|
|
|
+run_cmake_command(E_env_modify-with-double-dash ${CMAKE_COMMAND} -E env --modify TEST_ENV=set:1 -- "${RunCMake_BINARY_DIR}/env=${exit_code}" zero_exit)
|
|
|
+run_cmake_command(E_env_modify-without-double-dash ${CMAKE_COMMAND} -E env --modify TEST_ENV=set:1 "${RunCMake_BINARY_DIR}/env=${exit_code}" zero_exit)
|
|
|
+
|
|
|
+# Test environment modification commands
|
|
|
+run_cmake_command(E_env_modify-reset
|
|
|
+ ${CMAKE_COMMAND} -E env TEST_ENV=expected
|
|
|
+ ${CMAKE_COMMAND} -E env TEST_ENV_EXPECTED=expected TEST_ENV=bad_value --modify TEST_ENV=reset:
|
|
|
+ ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/E_env-equal.cmake)
|
|
|
+
|
|
|
+run_cmake_command(E_env_modify-reset-to-unset
|
|
|
+ ${CMAKE_COMMAND} -E env --unset=TEST_ENV --unset=TEST_ENV_EXPECTED
|
|
|
+ ${CMAKE_COMMAND} -E env TEST_ENV=bad_value --modify TEST_ENV=reset:
|
|
|
+ ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/E_env-equal.cmake)
|
|
|
+
|
|
|
+run_cmake_command(E_env_modify-string
|
|
|
+ ${CMAKE_COMMAND} -E env TEST_ENV_EXPECTED=expected
|
|
|
+ --modify TEST_ENV=unset:
|
|
|
+ --modify TEST_ENV=string_append:ect
|
|
|
+ --modify TEST_ENV=string_prepend:exp
|
|
|
+ --modify TEST_ENV=string_append:ed
|
|
|
+ ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/E_env-equal.cmake)
|
|
|
+
|
|
|
+if (WIN32)
|
|
|
+ set(SEP "\\;")
|
|
|
+else ()
|
|
|
+ set(SEP ":")
|
|
|
+endif ()
|
|
|
+
|
|
|
+run_cmake_command(E_env_modify-path_list
|
|
|
+ ${CMAKE_COMMAND} -E env "TEST_ENV_EXPECTED=exp${SEP}ect${SEP}ed"
|
|
|
+ --modify TEST_ENV=unset:
|
|
|
+ --modify TEST_ENV=path_list_append:ect
|
|
|
+ --modify TEST_ENV=path_list_prepend:exp
|
|
|
+ --modify TEST_ENV=path_list_append:ed
|
|
|
+ ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/E_env-equal.cmake)
|
|
|
+
|
|
|
+run_cmake_command(E_env_modify-cmake_list
|
|
|
+ ${CMAKE_COMMAND} -E env "TEST_ENV_EXPECTED=exp\\;ect\\;ed"
|
|
|
+ --modify TEST_ENV=unset:
|
|
|
+ --modify TEST_ENV=cmake_list_append:ect
|
|
|
+ --modify TEST_ENV=cmake_list_prepend:exp
|
|
|
+ --modify TEST_ENV=cmake_list_append:ed
|
|
|
+ ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/E_env-equal.cmake)
|
|
|
+
|
|
|
+run_cmake_command(E_env_modify-bad-operation ${CMAKE_COMMAND} -E env --modify TEST_ENV=unknown:)
|
|
|
+
|
|
|
run_cmake_command(E_md5sum-dir ${CMAKE_COMMAND} -E md5sum .)
|
|
|
run_cmake_command(E_sha1sum-dir ${CMAKE_COMMAND} -E sha1sum .)
|
|
|
run_cmake_command(E_sha224sum-dir ${CMAKE_COMMAND} -E sha224sum .)
|