From 3b6c1c1a3b8c32738ac351b8cd5c137f65e14c40 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 14 Nov 2022 11:05:56 -0500 Subject: Tests: Factor out RunCMake ctest environment isolation Some RunCMake tests unset some environment variables that affect ctest's behavior before running it. Any test using the RunCTest helper needs to do this, so do it in the helper itself. Issue: #24153 --- Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake | 3 --- Tests/RunCMake/RunCTest.cmake | 4 ++++ Tests/RunCMake/ctest_environment/RunCMakeTest.cmake | 4 ---- Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake | 4 ---- Tests/RunCMake/ctest_memcheck/RunCMakeTest.cmake | 2 -- Tests/RunCMake/ctest_test/RunCMakeTest.cmake | 3 --- 6 files changed, 4 insertions(+), 16 deletions(-) diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake index df3e82a..8c35fe5 100644 --- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake @@ -3,9 +3,6 @@ include(RunCTest) set(RunCMake_TEST_TIMEOUT 60) -unset(ENV{CTEST_PARALLEL_LEVEL}) -unset(ENV{CTEST_OUTPUT_ON_FAILURE}) - run_cmake_command(repeat-opt-bad1 ${CMAKE_CTEST_COMMAND} --repeat until-pass ) diff --git a/Tests/RunCMake/RunCTest.cmake b/Tests/RunCMake/RunCTest.cmake index 59db395..86f5b3a 100644 --- a/Tests/RunCMake/RunCTest.cmake +++ b/Tests/RunCMake/RunCTest.cmake @@ -1,5 +1,9 @@ include(RunCMake) +# Isolate our ctest runs from external environment. +unset(ENV{CTEST_PARALLEL_LEVEL}) +unset(ENV{CTEST_OUTPUT_ON_FAILURE}) + function(run_ctest CASE_NAME) configure_file(${RunCMake_SOURCE_DIR}/test.cmake.in ${RunCMake_BINARY_DIR}/${CASE_NAME}/test.cmake @ONLY) diff --git a/Tests/RunCMake/ctest_environment/RunCMakeTest.cmake b/Tests/RunCMake/ctest_environment/RunCMakeTest.cmake index 365c9e8..4716c41 100644 --- a/Tests/RunCMake/ctest_environment/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_environment/RunCMakeTest.cmake @@ -1,9 +1,5 @@ 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") diff --git a/Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake b/Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake index 1754203..1c2ad89 100644 --- a/Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake @@ -1,9 +1,5 @@ include(RunCTest) -# Isolate our ctest runs from external environment. -unset(ENV{CTEST_PARALLEL_LEVEL}) -unset(ENV{CTEST_OUTPUT_ON_FAILURE}) - function(run_ctest_test CASE_NAME) set(CASE_CTEST_FIXTURES_ARGS "${ARGN}") run_ctest(${CASE_NAME}) diff --git a/Tests/RunCMake/ctest_memcheck/RunCMakeTest.cmake b/Tests/RunCMake/ctest_memcheck/RunCMakeTest.cmake index cb8f696..3f6501e 100644 --- a/Tests/RunCMake/ctest_memcheck/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_memcheck/RunCMakeTest.cmake @@ -4,8 +4,6 @@ set(SITE test-site) set(BUILDNAME test-build) set(COVERAGE_COMMAND "") -unset(ENV{CTEST_PARALLEL_LEVEL}) - function(run_mc_test CASE_NAME CHECKER_COMMAND) run_ctest(${CASE_NAME} ${ARGN}) endfunction() diff --git a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake index 74ae99c..242a059 100644 --- a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake @@ -1,9 +1,6 @@ include(RunCTest) set(RunCMake_TEST_TIMEOUT 60) -unset(ENV{CTEST_PARALLEL_LEVEL}) -unset(ENV{CTEST_OUTPUT_ON_FAILURE}) - set(CASE_CTEST_TEST_ARGS "") set(CASE_CTEST_TEST_LOAD "") -- cgit v0.12 From e46a9d79fcbe3d46f9bb977f5031ecdc78ac2480 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 14 Nov 2022 11:08:45 -0500 Subject: Tests: Isolate more RunCMake cases from external ctest environment values Fix a few RunCMake cases that were running `ctest` without isolating it from external environment values that affect its behavior. Fixes: #24153 --- Tests/RunCMake/CMakePresetsTest/RunCMakeTest.cmake | 4 ++++ Tests/RunCMake/GoogleTest/RunCMakeTest.cmake | 4 ++++ Tests/RunCMake/test_include_dirs/RunCMakeTest.cmake | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/Tests/RunCMake/CMakePresetsTest/RunCMakeTest.cmake b/Tests/RunCMake/CMakePresetsTest/RunCMakeTest.cmake index 1c7b836..5bd0158 100644 --- a/Tests/RunCMake/CMakePresetsTest/RunCMakeTest.cmake +++ b/Tests/RunCMake/CMakePresetsTest/RunCMakeTest.cmake @@ -1,5 +1,9 @@ include(RunCMake) +# Isolate our ctest runs from external environment. +unset(ENV{CTEST_PARALLEL_LEVEL}) +unset(ENV{CTEST_OUTPUT_ON_FAILURE}) + # Presets do not support legacy VS generator name architecture suffix. if(RunCMake_GENERATOR MATCHES "^(Visual Studio [0-9]+ [0-9]+) ") set(RunCMake_GENERATOR "${CMAKE_MATCH_1}") diff --git a/Tests/RunCMake/GoogleTest/RunCMakeTest.cmake b/Tests/RunCMake/GoogleTest/RunCMakeTest.cmake index 695f562..b494cef 100644 --- a/Tests/RunCMake/GoogleTest/RunCMakeTest.cmake +++ b/Tests/RunCMake/GoogleTest/RunCMakeTest.cmake @@ -1,5 +1,9 @@ include(RunCMake) +# Isolate our ctest runs from external environment. +unset(ENV{CTEST_PARALLEL_LEVEL}) +unset(ENV{CTEST_OUTPUT_ON_FAILURE}) + if(RunCMake_GENERATOR STREQUAL "Borland Makefiles" OR RunCMake_GENERATOR STREQUAL "Watcom WMake") set(fs_delay 3) diff --git a/Tests/RunCMake/test_include_dirs/RunCMakeTest.cmake b/Tests/RunCMake/test_include_dirs/RunCMakeTest.cmake index 72056ae..74795c2 100644 --- a/Tests/RunCMake/test_include_dirs/RunCMakeTest.cmake +++ b/Tests/RunCMake/test_include_dirs/RunCMakeTest.cmake @@ -1,5 +1,9 @@ include(RunCMake) +# Isolate our ctest runs from external environment. +unset(ENV{CTEST_PARALLEL_LEVEL}) +unset(ENV{CTEST_OUTPUT_ON_FAILURE}) + function(run_TID) # Use a single build tree for a few tests without cleaning. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TID-build) -- cgit v0.12