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).
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.