summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-03-06 00:58:41 (GMT)
committerBrad King <brad.king@kitware.com>2024-03-12 14:46:42 (GMT)
commit56e319ce4ad7367c87380128c44728c8474fef53 (patch)
treea59a5b8be46cdc558a9a4110cfb5804dfeeec564
parent6671f17f65a2d4907f1b598dc2823209714f7ac2 (diff)
downloadCMake-56e319ce4ad7367c87380128c44728c8474fef53.zip
CMake-56e319ce4ad7367c87380128c44728c8474fef53.tar.gz
CMake-56e319ce4ad7367c87380128c44728c8474fef53.tar.bz2
ctest: Fall back to CMake options for TLS server verification
Use `CMAKE_TLS_VERIFY` if `CTEST_TLS_VERIFY` is not set.
-rw-r--r--Help/variable/CTEST_TLS_VERIFY.rst3
-rw-r--r--Modules/CTestTargets.cmake3
-rw-r--r--Source/CTest/cmCTestSubmitCommand.cxx15
-rw-r--r--Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake2
-rw-r--r--Tests/RunCMake/ctest_submit/FailDrop-TLSVerify-OFF-stdout.txt2
-rw-r--r--Tests/RunCMake/ctest_submit/RunCMakeTest.cmake2
6 files changed, 22 insertions, 5 deletions
diff --git a/Help/variable/CTEST_TLS_VERIFY.rst b/Help/variable/CTEST_TLS_VERIFY.rst
index 22133bd..bce4969 100644
--- a/Help/variable/CTEST_TLS_VERIFY.rst
+++ b/Help/variable/CTEST_TLS_VERIFY.rst
@@ -8,3 +8,6 @@ Specify the CTest ``TLSVerify`` setting in a :manual:`ctest(1)`
before including the :module:`CTest` module. The value is a boolean
indicating whether to verify the server certificate when submitting
to a dashboard via ``https://`` URLs.
+
+If ``CTEST_TLS_VERIFY`` is not set, :variable:`CMAKE_TLS_VERIFY` is
+used instead.
diff --git a/Modules/CTestTargets.cmake b/Modules/CTestTargets.cmake
index 2e11d64..3fcf702 100644
--- a/Modules/CTestTargets.cmake
+++ b/Modules/CTestTargets.cmake
@@ -21,6 +21,9 @@ mark_as_advanced(CMAKE_CTEST_COMMAND)
# configure files
block()
+ if(NOT DEFINED CTEST_TLS_VERIFY AND DEFINED CMAKE_TLS_VERIFY)
+ set(CTEST_TLS_VERIFY "${CMAKE_TLS_VERIFY}")
+ endif()
if(CTEST_NEW_FORMAT)
configure_file(
${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in
diff --git a/Source/CTest/cmCTestSubmitCommand.cxx b/Source/CTest/cmCTestSubmitCommand.cxx
index 616ad4a..ec5f702 100644
--- a/Source/CTest/cmCTestSubmitCommand.cxx
+++ b/Source/CTest/cmCTestSubmitCommand.cxx
@@ -57,8 +57,19 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler()
this->CTest->SetCTestConfigurationFromCMakeVariable(
this->Makefile, "TLSVersion", "CTEST_TLS_VERSION", this->Quiet);
- this->CTest->SetCTestConfigurationFromCMakeVariable(
- this->Makefile, "TLSVerify", "CTEST_TLS_VERIFY", this->Quiet);
+ if (!this->CTest->SetCTestConfigurationFromCMakeVariable(
+ this->Makefile, "TLSVerify", "CTEST_TLS_VERIFY", this->Quiet)) {
+ if (cmValue tlsVerifyVar =
+ this->Makefile->GetDefinition("CMAKE_TLS_VERIFY")) {
+ cmCTestOptionalLog(
+ this->CTest, HANDLER_VERBOSE_OUTPUT,
+ "SetCTestConfiguration from CMAKE_TLS_VERIFY:TLSVerify:"
+ << *tlsVerifyVar << std::endl,
+ this->Quiet);
+ this->CTest->SetCTestConfiguration("TLSVerify", *tlsVerifyVar,
+ this->Quiet);
+ }
+ }
this->CTest->SetCTestConfigurationFromCMakeVariable(
this->Makefile, "CurlOptions", "CTEST_CURL_OPTIONS", this->Quiet);
this->CTest->SetCTestConfigurationFromCMakeVariable(
diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
index 27a6fab..c3e573a 100644
--- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
@@ -498,7 +498,7 @@ function(run_FailDrop case)
endfunction()
run_FailDrop(TLSVersion-1.1 -DCTEST_TLS_VERSION=1.1)
run_FailDrop(TLSVerify-ON -DCTEST_TLS_VERIFY=ON)
-run_FailDrop(TLSVerify-OFF -DCTEST_TLS_VERIFY=OFF)
+run_FailDrop(TLSVerify-OFF -DCMAKE_TLS_VERIFY=OFF) # Test fallback to CMake variable.
run_cmake_command(EmptyDirCoverage-ctest
${CMAKE_CTEST_COMMAND} -C Debug -M Experimental -T Coverage
diff --git a/Tests/RunCMake/ctest_submit/FailDrop-TLSVerify-OFF-stdout.txt b/Tests/RunCMake/ctest_submit/FailDrop-TLSVerify-OFF-stdout.txt
index 9053f6c..4f5120e 100644
--- a/Tests/RunCMake/ctest_submit/FailDrop-TLSVerify-OFF-stdout.txt
+++ b/Tests/RunCMake/ctest_submit/FailDrop-TLSVerify-OFF-stdout.txt
@@ -1,4 +1,4 @@
-SetCTestConfigurationFromCMakeVariable:TLSVerify:CTEST_TLS_VERIFY
+SetCTestConfiguration from CMAKE_TLS_VERIFY:TLSVerify:OFF
SetCTestConfiguration:TLSVerify:OFF
.*
Set CURLOPT_SSL_VERIFYPEER to off
diff --git a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake
index 5ac568f..46b0ba8 100644
--- a/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake
+++ b/Tests/RunCMake/ctest_submit/RunCMakeTest.cmake
@@ -61,6 +61,6 @@ block()
run_ctest(FailDrop-TLSVersion-1.1 -VV)
set(CASE_TEST_PREFIX_CODE "set(CTEST_TLS_VERIFY ON)")
run_ctest(FailDrop-TLSVerify-ON -VV)
- set(CASE_TEST_PREFIX_CODE "set(CTEST_TLS_VERIFY OFF)")
+ set(CASE_TEST_PREFIX_CODE "set(CMAKE_TLS_VERIFY OFF)") # Test fallback to CMake variable.
run_ctest(FailDrop-TLSVerify-OFF -VV)
endblock()