diff options
author | Brad King <brad.king@kitware.com> | 2021-07-13 12:24:28 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-07-13 12:24:36 (GMT) |
commit | 3265fa51cd4feec492a157506fff505dbd4c7d37 (patch) | |
tree | 1a734924e446176ca42aaa69e6000c3c584af5c0 /Tests/RunCMake | |
parent | 95c97a12e8c8498f3ed7142e3644a8b6a7eeb9e1 (diff) | |
parent | de4f1f26b0a3217f7caf842c50857b1ac90d9b7d (diff) | |
download | CMake-3265fa51cd4feec492a157506fff505dbd4c7d37.zip CMake-3265fa51cd4feec492a157506fff505dbd4c7d37.tar.gz CMake-3265fa51cd4feec492a157506fff505dbd4c7d37.tar.bz2 |
Merge topic 'ctest-environment-modifications'
de4f1f26b0 CTest: add an ENVIRONMENT_MODIFICATION property
4c757fa3c8 Help/prop_test/ENVIRONMENT: clarify the scope of the changes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6299
Diffstat (limited to 'Tests/RunCMake')
13 files changed, 56 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index da79e0e..ef797f7 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -374,6 +374,7 @@ add_RunCMake_test(ctest_disabled_test) add_RunCMake_test(ctest_skipped_test) add_RunCMake_test(ctest_update) add_RunCMake_test(ctest_upload) +add_RunCMake_test(ctest_environment) add_RunCMake_test(ctest_fixtures) add_RunCMake_test(file -DMSYS=${MSYS}) add_RunCMake_test(file-CHMOD -DMSYS=${MSYS}) diff --git a/Tests/RunCMake/ctest_environment/CMakeLists.txt.in b/Tests/RunCMake/ctest_environment/CMakeLists.txt.in new file mode 100644 index 0000000..c9c4a64 --- /dev/null +++ b/Tests/RunCMake/ctest_environment/CMakeLists.txt.in @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.21.0) +project("@CASE_NAME@" NONE) +include("@CASE_SOURCE_DIR@/@CASE_NAME@.cmake") diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op-result.txt b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op-result.txt new file mode 100644 index 0000000..b57e2de --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op-result.txt @@ -0,0 +1 @@ +(-1|255) diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op-stderr.txt b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op-stderr.txt new file mode 100644 index 0000000..5b56d6f --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op-stderr.txt @@ -0,0 +1 @@ +Error: Unrecognized environment manipulation argument: unknown diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op.cmake b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op.cmake new file mode 100644 index 0000000..d6ca4b2 --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-invalid-op.cmake @@ -0,0 +1,6 @@ +include(CTest) +add_test(NAME cmake_version COMMAND "${CMAKE_COMMAND}" --version) + +set_property(TEST cmake_version + PROPERTY ENVIRONMENT_MODIFICATION + INVALID_OP=unknown:) diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon-result.txt b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon-result.txt new file mode 100644 index 0000000..b57e2de --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon-result.txt @@ -0,0 +1 @@ +(-1|255) diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon-stderr.txt b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon-stderr.txt new file mode 100644 index 0000000..3ba6ba7 --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon-stderr.txt @@ -0,0 +1 @@ +Error: Missing `:` after the operation in: MISSING_COLON=unset diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon.cmake b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon.cmake new file mode 100644 index 0000000..601dd8b --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-colon.cmake @@ -0,0 +1,6 @@ +include(CTest) + +add_test(NAME cmake_version COMMAND "${CMAKE_COMMAND}" --version) +set_property(TEST cmake_version + PROPERTY ENVIRONMENT_MODIFICATION + MISSING_COLON=unset) diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals-result.txt b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals-result.txt new file mode 100644 index 0000000..b57e2de --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals-result.txt @@ -0,0 +1 @@ +(-1|255) diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals-stderr.txt b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals-stderr.txt new file mode 100644 index 0000000..20bc9a5 --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals-stderr.txt @@ -0,0 +1 @@ +Error: Missing `=` after the variable name in: MISSING_EQUAL diff --git a/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals.cmake b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals.cmake new file mode 100644 index 0000000..18448cf --- /dev/null +++ b/Tests/RunCMake/ctest_environment/ENVIRONMENT_MODIFICATION-no-equals.cmake @@ -0,0 +1,6 @@ +include(CTest) + +add_test(NAME cmake_version COMMAND "${CMAKE_COMMAND}" --version) +set_property(TEST cmake_version + PROPERTY ENVIRONMENT_MODIFICATION + MISSING_EQUAL) diff --git a/Tests/RunCMake/ctest_environment/RunCMakeTest.cmake b/Tests/RunCMake/ctest_environment/RunCMakeTest.cmake new file mode 100644 index 0000000..3447779 --- /dev/null +++ b/Tests/RunCMake/ctest_environment/RunCMakeTest.cmake @@ -0,0 +1,12 @@ +include(RunCTest) + +# Isolate our ctest runs from external environment. +unset(ENV{CTEST_PARALLEL_LEVEL}) +unset(ENV{CTEST_OUTPUT_ON_FAILURE}) + +set(CASE_SOURCE_DIR "${RunCMake_SOURCE_DIR}") +set(RunCTest_VERBOSE_FLAG "-VV") + +run_ctest(ENVIRONMENT_MODIFICATION-invalid-op) +run_ctest(ENVIRONMENT_MODIFICATION-no-colon) +run_ctest(ENVIRONMENT_MODIFICATION-no-equals) diff --git a/Tests/RunCMake/ctest_environment/test.cmake.in b/Tests/RunCMake/ctest_environment/test.cmake.in new file mode 100644 index 0000000..ca23c83 --- /dev/null +++ b/Tests/RunCMake/ctest_environment/test.cmake.in @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.7) + +set(CTEST_SITE "test-site") +set(CTEST_BUILD_NAME "test-build-name") +set(CTEST_SOURCE_DIRECTORY "@RunCMake_BINARY_DIR@/@CASE_NAME@") +set(CTEST_BINARY_DIRECTORY "@RunCMake_BINARY_DIR@/@CASE_NAME@-build") +set(CTEST_CMAKE_GENERATOR "@RunCMake_GENERATOR@") +set(CTEST_CMAKE_GENERATOR_PLATFORM "@RunCMake_GENERATOR_PLATFORM@") +set(CTEST_CMAKE_GENERATOR_TOOLSET "@RunCMake_GENERATOR_TOOLSET@") +set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}") + +set(ctest_test_args "@CASE_CTEST_TEST_ARGS@") +ctest_start(Experimental) +ctest_configure() +ctest_build() +ctest_test(${ctest_test_args}) |