include(RunCTest) # Default case parameters. set(CASE_DROP_METHOD "http") set(CASE_DROP_SITE "badhostname.invalid") set(CASE_CTEST_SUBMIT_ARGS "") set(CASE_TEST_PREFIX_CODE "") # Do not use any proxy for lookup of an invalid site. # DNS failure by proxy looks different than DNS failure without proxy. set(ENV{no_proxy} "$ENV{no_proxy},badhostname.invalid") function(run_ctest_submit CASE_NAME) set(CASE_CTEST_SUBMIT_ARGS "${ARGN}") run_ctest(${CASE_NAME}) endfunction() function(run_ctest_submit_debug CASE_NAME) set(CASE_CTEST_SUBMIT_ARGS "${ARGN}") run_ctest(${CASE_NAME} "--debug") endfunction() #----------------------------------------------------------------------------- # Test bad argument combinations. run_ctest_submit(BadArg bad-arg) run_ctest_submit(BadPARTS PARTS bad-part) run_ctest_submit(BadFILES FILES bad-file) run_ctest_submit(RepeatRETURN_VALUE RETURN_VALUE res RETURN_VALUE res) run_ctest_submit(PARTSCDashUpload PARTS Configure CDASH_UPLOAD) run_ctest_submit(PARTSCDashUploadType PARTS Configure CDASH_UPLOAD_TYPE) run_ctest_submit(PARTSDone PARTS Done) run_ctest_submit(CDashUploadPARTS CDASH_UPLOAD bad-upload PARTS) run_ctest_submit(CDashUploadFILES CDASH_UPLOAD bad-upload FILES) run_ctest_submit(CDashUploadNone CDASH_UPLOAD) run_ctest_submit(CDashUploadMissingFile CDASH_UPLOAD bad-upload) run_ctest_submit(CDashUploadRetry CDASH_UPLOAD ${CMAKE_CURRENT_LIST_FILE} CDASH_UPLOAD_TYPE foo RETRY_COUNT 2 RETRY_DELAY 1 INTERNAL_TEST_CHECKSUM) run_ctest_submit(CDashSubmitQuiet QUIET) run_ctest_submit_debug(CDashSubmitVerbose BUILD_ID my_build_id) run_ctest_submit_debug(FILESNoBuildId FILES ${CMAKE_CURRENT_LIST_FILE}) run_ctest_submit_debug(CDashSubmitHeaders HTTPHEADER "Authorization: Bearer asdf") run_ctest_submit_debug(CDashUploadHeaders CDASH_UPLOAD ${CMAKE_CURRENT_LIST_FILE} CDASH_UPLOAD_TYPE foo HTTPHEADER "Authorization: Bearer asdf") function(run_ctest_CDashUploadFTP) set(CASE_DROP_METHOD ftp) run_ctest_submit(CDashUploadFTP CDASH_UPLOAD ${CMAKE_CURRENT_LIST_FILE}) endfunction() run_ctest_CDashUploadFTP() #----------------------------------------------------------------------------- # Test failed drops by various protocols function(run_ctest_submit_FailDrop CASE_DROP_METHOD) run_ctest(FailDrop-${CASE_DROP_METHOD}) endfunction() run_ctest_submit_FailDrop(http) run_ctest_submit_FailDrop(https) block() set(CASE_DROP_METHOD "https") set(CASE_TEST_PREFIX_CODE "set(CTEST_TLS_VERSION 1.1)") run_ctest(FailDrop-TLSVersion-1.1 -VV) set(CASE_TEST_PREFIX_CODE "set(CMAKE_TLS_VERSION 1.1)") # Test fallback to CMake variable. run_ctest(FailDrop-TLSVersion-1.1-cmake -VV) set(ENV{CMAKE_TLS_VERSION} 1.1) # Test fallback to env variable. set(CASE_TEST_PREFIX_CODE "") run_ctest(FailDrop-TLSVersion-1.1-env -VV) unset(ENV{CMAKE_TLS_VERSION}) set(CASE_TEST_PREFIX_CODE "set(CTEST_TLS_VERIFY ON)") run_ctest(FailDrop-TLSVerify-ON -VV) set(CASE_TEST_PREFIX_CODE "set(CMAKE_TLS_VERIFY ON)") # Test fallback to CMake variable. run_ctest(FailDrop-TLSVerify-ON-cmake -VV) set(ENV{CMAKE_TLS_VERIFY} ON) # Test fallback to env variable. set(CASE_TEST_PREFIX_CODE "") run_ctest(FailDrop-TLSVerify-ON-env -VV) unset(ENV{CMAKE_TLS_VERIFY}) set(CASE_TEST_PREFIX_CODE "set(CTEST_TLS_VERIFY OFF)") run_ctest(FailDrop-TLSVerify-OFF -VV) set(CASE_TEST_PREFIX_CODE "set(CMAKE_TLS_VERIFY OFF)") # Test fallback to CMake variable. run_ctest(FailDrop-TLSVerify-OFF-cmake -VV) set(ENV{CMAKE_TLS_VERIFY} OFF) # Test fallback to env variable. set(CASE_TEST_PREFIX_CODE "") run_ctest(FailDrop-TLSVerify-OFF-env -VV) unset(ENV{CMAKE_TLS_VERIFY}) endblock()