ctest_submit

Dashboard Client(仪表盘客户端) 身份执行 CTest Submit Step(CTest 提交步骤)

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

将结果提交到仪表盘服务器。默认情况下,所有可用的部分(parts)都会被提交。

选项包括

PARTS <part>...

指定要提交的部分子集。有效的部分名称包括:

  • Start - 无内容。

  • Update - ctest_update() 的结果,位于 Update.xml 中。

  • Configure - ctest_configure() 的结果,位于 Configure.xml 中。

  • Build - ctest_build() 的结果,位于 Build.xml 中。

  • Test - ctest_test() 的结果,位于 Test.xml 中。

  • Coverage - ctest_coverage() 的结果,位于 Coverage.xml 中。

  • MemCheck - ctest_memcheck() 的结果,位于 DynamicAnalysis.xmlDynamicAnalysis-Test.xml 中。

  • Notes - 由 CTEST_NOTES_FILES 列出的文件,位于 Notes.xml 中。

  • ExtraFiles - 由 CTEST_EXTRA_SUBMIT_FILES 列出的文件。

  • Upload - 由 ctest_upload() 准备上传的文件,位于 Upload.xml 中。

  • Submit - 无内容。

  • Done - 构建已完成,位于 Done.xml 中。

FILES <file>...

指定要提交的具体文件列表。每个文件在调用时必须存在。

SUBMIT_URL <url>

3.14 版新增。

要发送提交内容的仪表盘服务器的 httphttps URL。如果未指定,则使用 CTEST_SUBMIT_URL 变量。

BUILD_ID <result-var>

版本 3.15 新增。

将 CDash 为此构建分配的 ID 存储在 <result-var> 变量中。

HTTPHEADER <HTTP-header>

版本 3.9 中添加。

指定在提交期间包含在 CDash 请求中的 HTTP 头信息。例如,可以配置 CDash 仅接受来自已认证客户端的提交。在这种情况下,您应该在头部提供 bearer token。

ctest_submit(HTTPHEADER "Authorization: Bearer <auth-token>")

此子选项可以重复多次以添加多个头部信息。

RETRY_COUNT <count>

指定提交超时后重试的次数。

RETRY_DELAY <delay>

指定提交超时后,在尝试重新提交之前需要等待的时长(以秒为单位)。

RETURN_VALUE <result-var>

<result-var> 变量中存储结果:成功为 0,失败为非零值。

CAPTURE_CMAKE_ERROR <result-var>

3.13 版本新增。

如果运行命令时有任何错误,则在 <result-var> 变量中存储 -1,并防止 ctest 在发生错误时返回非零值。

QUIET

3.3 版本中新增。

抑制所有非错误信息(即原本会打印到控制台的信息)。

提交到 CDash 上传 API

版本 3.2 中新增。

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

此第二种签名用于通过 CDash 文件上传 API 将文件上传到 CDash。该 API 首先向 CDash 发送包含文件内容哈希值的上传请求。如果 CDash 尚不存在该文件,则将其上传。随文件一起还会指定一个 CDash 类型字符串,以告知 CDash 使用哪个处理程序来处理这些数据。

此签名的选项解析方式与第一种相同。

3.8 版本新增: 添加了 RETRY_COUNT, RETRY_DELAY, QUIET 选项。

3.9 版本新增: 添加了 HTTPHEADER 选项。

3.13 版本新增: 添加了 RETURN_VALUE 选项。

3.14 版本新增: 添加了 SUBMIT_URL 选项。

3.15 版本新增: 添加了 BUILD_ID 选项。