# ctest_submit

Perform the CTest Submit Step as a Dashboard Client.

    ctest_submit([PARTS <part>...] [FILES <file>...]
                 [SUBMIT_URL <url>]
                 [HTTPHEADER <header>]
                 [RETRY_COUNT <count>]
                 [RETRY_DELAY <delay>]
                 [RETURN_VALUE <result-var>]
                 [CAPTURE_CMAKE_ERROR <result-var>]
                 [QUIET]
                 )

Submit results to a dashboard server. By default all available parts are submitted.

The options are:

`PARTS <part>...`

  Specify a subset of parts to submit. Valid part names are:

      Start      = nothing
      Update     = ctest_update results, in Update.xml
      Configure  = ctest_configure results, in Configure.xml
      Build      = ctest_build results, in Build.xml
      Test       = ctest_test results, in Test.xml
      Coverage   = ctest_coverage results, in Coverage.xml
      MemCheck   = ctest_memcheck results, in DynamicAnalysis.xml
      Notes      = Files listed by CTEST_NOTES_FILES, in Notes.xml
      ExtraFiles = Files listed by CTEST_EXTRA_SUBMIT_FILES
      Upload     = Files prepared for upload by ctest_upload(), in Upload.xml
      Submit     = nothing
      Done       = Build is complete, in Done.xml

`FILES <file>...`
  Specify an explicit list of specific files to be submitted. Each individual file must exist at the time of the call.
`SUBMIT_URL <url>`
  The `http` or `https` URL of the dashboard server to send the submission to. If not given, the `CTEST_SUBMIT_URL` variable is used.
`HTTPHEADER <HTTP-header>`
  Specify HTTP header to be included in the request to CDash during submission. This suboption can be repeated several times.
`RETRY_COUNT <count>`
  Specify how many times to retry a timed-out submission.
`RETRY_DELAY <delay>`
  Specify how long (in seconds) to wait after a timed-out submission before attempting to re-submit.
`RETURN_VALUE <result-var>`
  Store in the `<result-var>` variable `0` for success and non-zero on failure.
`CAPTURE_CMAKE_ERROR <result-var>`
  Store in the `<result-var>` variable -1 if there are any errors running the command and prevent ctest from returning non-zero if an error occurs.
`QUIET`
  Suppress all non-error messages that would have otherwise been printed to the console.

## Submit to CDash Upload API

    ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>]
                 [SUBMIT_URL <url>]
                 [HTTPHEADER <header>]
                 [RETRY_COUNT <count>]
                 [RETRY_DELAY <delay>]
                 [RETURN_VALUE <result-var>]
                 [QUIET])

This second signature is used to upload files to CDash via the CDash file upload API. The API first sends a request to upload to CDash along with a content hash of the file. If CDash does not already have the file, then it is uploaded. Along with the file, a CDash type string is specified to tell CDash which handler to use to process the data.

This signature accepts the `SUBMIT_URL`, `HTTPHEADER`, `RETRY_COUNT`, `RETRY_DELAY`, `RETURN_VALUE` and `QUIET` options as described above.