本文档介绍了用于收集和存储结果的目录格式
和在 Fuchsia 上运行的测试的输出。目前由
已指定 --output-directory
选项时,系统会为 ffx 测试运行。
背景
单次执行 ffx test
会生成一次“测试运行”。测试运行是
由任意数量的套件运行组成,每个套件运行均包含
任意数量的测试用例。
“套件运行”是指测试组件的执行。测试组件
通常由网址标识,例如
fuchsia-pkg://fuchsia.com/run_test_suite_integration_tests#meta/passing-test-example.cm
。
测试用例是套件中包含的单个测试用例的执行。
此外,测试运行、套件或测试用例可能会产生工件。这些 包含测试的输出,例如 stdout、stderr 和 syslog。制品 可以是文件或目录。
概览
测试输出会存储为目录。该目录包含的是针对
单个测试运行及其包含的任何套件运行和测试用例。
目录中包含一个名为 run_summary.json
的 JSON 文件以及任意数量的
目录。每个子目录都包含测试的工件
或单个套件运行或测试用例。
目录布局
JSON 文件始终称为 run_summary.json
,且始终位于
目录的根目录下。run_summary.json
包含完整的
测试运行结果、测试运行中的套件运行结果,以及
每个套件中运行的案例。它还包含每个工件的名称
以及其中的工件列表工件始终位于
工件子目录的顶层
不可使用
指定为架构的一部分。而是指定子目录的实际名称
run_summary.json
中列出了
run_summary.json
项内容
“run_summary.json
”的确切架构发布日期
fuchsia.dev.在 Fuchsia 源中,它位于
//sdk/schema 目录下。
工件
工件可以由单个文件或目录组成。以下 如今已经存在,而且这个架构是众所周知的。
类型 | 说明 |
---|---|
系统日志 | 从测试套件中运行的所有组件收集的 Syslog。 |
RESTRICTED_LOG | 导致测试失败的任何高严重级别日志。 |
STDOUT | 从测试中的单个组件收集的 stdout。 |
STDERR | stderr,即从测试中的单个组件收集的 stderr。 |
报告 | ffx 测试生成的 stdout 输出的副本。 |
CUSTOM | 测试中的组件生成的一组任意文件。 |
解析
需要处理测试结果的工具应首先解析
run_summary.json
,因为它是输出目录中唯一带有
架构中定义的位置该目录的剩余内容是
如run_summary.json
所述。工具不应假定有任何特定的命名
输出中工件或子目录的命名惯例。
示例
此示例输出是通过针对ffx test
示例测试。
$ ffx test run --output-directory /tmp/ffx-out fuchsia-pkg://fuchsia.com/stdout-test#meta/stdout-test.cm
ffx test
生成的 /tmp/ffx-out
目录的内容如下:
examples/testing 中提供。
相关文档
RFC-0163:提议此输出的 RFC。