CMake 3.14 ignores DROP_LOCATION
With CMake 3.14, the combination of CTEST_DROP(_METHOD|_SITE|_LOCATION) was replaced by CTEST_SUBMIT_URL in CTest.
The CTest Documentation claims that the DROP_... variables still work in absence of a SUBMIT_URL.
In our case, however, this change lead to the submission failing. The CTest output showed:
Submit files SubmitURL: https://our.cdash.domain Submit failed, waiting 5 seconds... Retry submission: Attempt 1 of 3 Submit failed, waiting 5 seconds... Retry submission: Attempt 2 of 3 Submit failed, waiting 5 seconds... Retry submission: Attempt 3 of 3 Error when uploading file: C:/ourbuildfolder/Testing/20190326-0200/Update.xml Error message was: The requested URL returned error: 405 Method Not Allowed Problems when submitting via HTTP Errors while running CTest
After checking the server logs, I realized that the value of CTEST_DROP_LOCATION was missing in the PUT request used for submitting the files. This results in the submission to fail with a 405 error, as the PUT request tries to directly put to the "server root". Setting CTEST_SUBMIT_URL instead of CTEST_DROP_xyz variables leads to the submission succeeding again - as might also concatening the former value of CTEST_DROP_LOCATION to CTEST_DROP_SITE (but I haven't tested that yet).
How to reproduce:
- Install CMake 3.13.x or before
- Set up CTest with submission to CDash (2.6.0) via the three configuration settings mentioned above.
- Upgrade CMake to 3.14
- Submission will fail with HTTP error 405