Add a dedicated `TLSVerify` ctest option and a `CTEST_TLS_VERIFY`
variable to control it. Deprecate `CurlOptions` because it exposes
internal implementation details.
Use a well-defined `.invalid` top-level domain. This follows the
pattern from commit 65a3c68259 (Tests: Make CMake.FileDownload invalid
host name case more robust, 2020-01-21, v3.17.0-rc1~120^2).
Add the invalid name to `ENV{no_proxy}` because DNS lookup failure is
expected. This follows the pattern from commit c0b1f5f30c (Tests: Add
host to ENV{no_proxy} when DNS lookup failure is expected, 2021-01-29,
v3.20.0-rc1~79^2).
For policy-specific tests, use the version before the policy was
introduced. Otherwise, use 3.5 where possible.
Also, remove `cmake_minimum_required()` and `project()` calls from
individual cases where they are handled by `CMakeLists.txt`.
DNS lookup of an invalid host name fails with a different error in a proxy
environment than it does in an environment without proxy. Many tools,
including curl, use the `no_proxy` environment variable to provid a list
of hosts for which proxy should not be used.
To make lookup failure consistent, add invalid host names to the
`no_proxy` environment variable in tests that attempt to look up invalid
host names. This way the lookup will fail consistently regardless of
whether proxy is generally used or not.
Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
Teach CTest to submit Done.xml. Submission of this file indicates to
CDash that a build is complete and no more files will be uploaded. It
contains the build id returned by CDash and the current time.
This file is submitted last for a given build when using the
`ctest_submit()` command.
If submitting by PARTS, use `ctest_submit(PARTS Done)`.
In 7f530cc we taught CTest to pass extra information to CDash at submit
time. This extra info is used by CDash to initialize a buildid.
`ctest_submit(FILES)` can be used to send specific files to CDash.
These files are not necessarily associated with the build currently
being performed. For this reason, we modify the behavior of ctest_submit()
to only specify this extra info when we are submitting files from the
current build's Testing directory.
Hide any headers specified by `ctest_submit(HTTPHEADER ...)` unless ctest
is run with --debug. This option is used to present bearer tokens to CDash.
We do not want to inadvertently expose this secret data in the console
output log.
Allow CTest script writers to specify additional HTTP headers to be sent
to CDash during submission.
The motivating case for this feature is a corresponding change in CDash.
This will allow projects to refuse submissions from any site not bearing
a valid authentication token.
Teach the CDASH_UPLOAD signature of ctest_submit() to honor the
RETRY_COUNT and RETRY_DELAY options.
Also teach HttpRequest() to honor the default 120 second timeout
for curl connections.
A more-specific error message is always displayed earlier in the
output if any real error occurred. This final summary message
is distracting to readers searching through the output for the
word "error". Simply drop it.