协议
CaseIterator
在 fuchsia.test.manager/test_manager.fidl 中定义
用于列出可用测试用例的迭代器。
GetNext
返回下一批测试用例(如果有)。返回空矢量表示迭代完成。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
cases |
vector<Case>
|
DebugDataIterator
在 fuchsia.test.manager/test_manager.fidl 中定义
一种迭代器协议,客户端可通过该协议检索调试数据信息。
GetNext
检索下一批调试数据。这是一个挂起的 get;如果没有立即可用的数据,则调用会挂起,直到数据可用为止。返回所有数据后,调用会返回一个空矢量。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
data |
vector<DebugData>
|
EarlyBootProfile
在 fuchsia.test.manager/test_manager.fidl 中定义
用于管理前期启动配置文件的协议。在运行所有测试后,我们的客户端应调用此方法。
RegisterWatcher
注册用于监控前期启动配置文件的迭代器。
请求
名称 | 类型 |
---|---|
iterator |
server_end<DebugDataIterator>
|
查询
在 fuchsia.test.manager/test_manager.fidl 中定义
枚举
枚举测试用例。
请求
名称 | 类型 |
---|---|
test_url |
fuchsia.url/Url
|
iterator |
server_end<CaseIterator>
|
响应
名称 | 类型 |
---|---|
payload |
Query_Enumerate_Result
|
EnumerateInRealm
枚举非封闭测试中的测试用例。
请求
名称 | 类型 |
---|---|
test_url |
fuchsia.url/Url
|
realm |
fuchsia.component/Realm
|
offers |
vector<fuchsia.component.decl/Offer>
|
test_collection |
string
|
iterator |
server_end<CaseIterator>
|
响应
名称 | 类型 |
---|---|
payload |
Query_EnumerateInRealm_Result
|
RunBuilder
在 fuchsia.test.manager/test_manager.fidl 中定义
这是运行测试套件的入口点。测试“运行”由多个“套件”组成,而该套件包括运行多个“测试用例”。
AddSuite
为此次运行添加套件。套件是用于实现 fuchsia.test.Suite
的组件。此 API 的实现者将使用“套件”协议与测试套件通信,并使用 controller
返回结果。该控制器还用于控制测试套件的执行。
请求
名称 | 类型 |
---|---|
test_url |
fuchsia.url/Url
|
options |
RunOptions
|
controller |
server_end<SuiteController>
|
AddSuiteInRealm
向此次运行添加一个套件,该套件将在提供的“realm”中运行。套件是实现 fuchsia.test.Suite
的组件。此 API 的实现者将使用“套件”协议与测试套件通信,并使用 controller
返回结果。该控制器还可用于控制测试套件的执行。
请求
名称 | 类型 |
---|---|
realm |
fuchsia.component/Realm
|
offers |
vector<fuchsia.component.decl/Offer>
|
test_collection |
string
|
test_url |
fuchsia.url/Url
|
options |
RunOptions
|
controller |
server_end<SuiteController>
|
构建
构建并安排运行。
这会运行通过各自的过滤器添加的所有套件,并在完成后关闭通道。
请求
名称 | 类型 |
---|---|
controller |
server_end<RunController>
|
WithSchedulingOptions
指定用于此运行的时间安排选项。
请求
名称 | 类型 |
---|---|
options |
SchedulingOptions
|
RunController
在 fuchsia.test.manager/test_manager.fidl 中定义
所有套件运行都完成后并排空事件后,服务器端将断开连接。如果客户端断开连接,测试将立即终止,并且所有结果都将被舍弃。
GetEvents
迭代运行事件。此方法为挂起的 get 方法;仅当没有其他事件(运行完成)时,它才会返回空矢量。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
events |
vector<RunEvent>
|
关闭
立即终止运行。释放所有资源后,RunController 将断开连接。即使测试正在进行中,此方法也会终止这些测试。
请求
<EMPTY>
停止
平稳地停止跑步。在所有资源都被释放并排空此控制器中的所有事件后,RunController 将断开连接。此方法用于允许运行完成正在进行的测试,但会阻止启动新的测试。
请求
<EMPTY>
SuiteController
在 fuchsia.test.manager/test_manager.fidl 中定义
用于控制和监控以 SuiteRunner.RunSuite
启动的正在运行的测试套件。
在套件运行结束并通过 WatchEvents
传递所有事件后,服务器会关闭通道的末尾。如果客户端断开连接,套件会立即终止并舍弃所有结果。
GetEvents
迭代运行事件。此方法为挂起的 get 方法;仅当没有其他事件(运行完成)时,它才会返回空矢量。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
SuiteController_GetEvents_Result
|
关闭
立即终止运行。SuiteController 在所有资源释放后将断开连接。即使测试正在进行中,此方法也会终止这些测试。
请求
<EMPTY>
停止
停止套件正常运行。在所有资源都被释放且此控制器中的所有事件都被排空后,SuiteController 将断开连接。
请求
<EMPTY>
WatchEvents
使用挂起 get 模式返回可用事件。返回一个空矢量,表示不再有事件。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
SuiteController_WatchEvents_Result
|
SuiteRunner
在 fuchsia.test.manager/test_manager.fidl 中定义
运行测试套件。
运行
运行测试套件。套件是实现 fuchsia.test.Suite
的测试组件。
请求
名称 | 类型 |
---|---|
test_suite_url |
fuchsia.url/Url
|
options |
RunSuiteOptions
|
controller |
server_end<SuiteController>
|
TestCaseEnumerator
在 fuchsia.test.manager/test_manager.fidl 中定义
枚举测试套件中实现了 fuchsia.test.Suite
协议的用例。
枚举
为测试用例创建迭代器。
请求
名称 | 类型 |
---|---|
test_suite_url |
fuchsia.url/Url
|
options |
EnumerateTestCasesOptions
|
iterator |
server_end<TestCaseIterator>
|
响应
名称 | 类型 |
---|---|
payload |
TestCaseEnumerator_Enumerate_Result
|
TestCaseIterator
在 fuchsia.test.manager/test_manager.fidl 中定义
用于列出可用测试用例的迭代器。
GetNext
返回下一批测试用例。返回空矢量表示迭代完成。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
test_cases |
vector<TestCase>[1024]
|
结构
CaseArtifact 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
identifier |
TestCaseId
|
无默认取景方式 | |
artifact |
Artifact
|
无默认取景方式 |
CaseFinished
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
identifier |
TestCaseId
|
无默认取景方式 |
CaseFound
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
test_case_name |
CaseName
|
此测试用例的名称。 |
无默认取景方式 |
identifier |
TestCaseId
|
用于在后续载荷中标识此测试用例 |
无默认取景方式 |
CaseStarted
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
identifier |
TestCaseId
|
无默认取景方式 |
CaseStopped
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
identifier |
TestCaseId
|
无默认取景方式 | |
status |
CaseStatus
|
无默认取景方式 |
DirectoryAndToken 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
目录句柄和用于指示客户端何时完成目录检查的令牌。服务器端将保留 |directory| 中的所有资源(例如子目录和文件),而 |release_fence| 将保持打开状态。使用 |release_fence| 而不是直接观察 |directory| 通道,因为有可能克隆并打开新通道到同一目录。
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
directory |
fuchsia.io/Directory
|
|
无默认取景方式 |
token |
handle<eventpair>
|
用于控制目录保留的事件对句柄。此句柄关闭后,系统将不再保留该目录。 |
无默认取景方式 |
Query_EnumerateInRealm_Response
在 fuchsia.test.manager/test_manager.fidl 中定义
<EMPTY>
Query_Enumerate_Response
在 fuchsia.test.manager/test_manager.fidl 中定义
<EMPTY>
RunStarted
在 fuchsia.test.manager/test_manager.fidl 中定义
<EMPTY>
RunStopped
在 fuchsia.test.manager/test_manager.fidl 中定义
<EMPTY>
Stderr 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
socket |
handle<socket>
|
无默认取景方式 |
Stdout 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
socket |
handle<socket>
|
无默认取景方式 |
SuiteArtifact 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
artifact |
Artifact
|
无默认取景方式 |
SuiteController_GetEvents_Response 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
events |
vector<SuiteEvent>
|
无默认取景方式 |
SuiteController_WatchEvents_Response 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
events |
vector<Event>[1024]
|
无默认取景方式 |
SuiteStarted
在 fuchsia.test.manager/test_manager.fidl 中定义
<EMPTY>
SuiteStopped
在 fuchsia.test.manager/test_manager.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
status |
SuiteStatus
|
无默认取景方式 |
TestCaseEnumerator_Enumerate_Response
在 fuchsia.test.manager/test_manager.fidl 中定义
<EMPTY>
枚举
CaseStatus 灵活
类型:uint32
在 fuchsia.test.manager/test_manager.fidl 中定义
表示测试用例运行执行的状态。
名称 | 值 | 说明 |
---|---|---|
通过 |
0 |
测试用例已通过。 |
失败 |
1 |
测试用例失败。 |
TIMED_OUT |
2 |
测试用例超时。 |
已跳过 |
3 |
已跳过测试用例。 |
ERROR |
4 |
套件实现未返回状态。 |
LaunchError灵活
类型:uint32
在 fuchsia.test.manager/test_manager.fidl 中定义
进行 LaunchSuite
呼叫时出错。
名称 | 值 | 说明 |
---|---|---|
RESOURCE_UNAVAILABLE |
1 |
资源不足,无法执行此操作。 |
INSTANCE_CANNOT_RESOLVE |
2 |
无法解析 |
INVALID_ARGS |
3 |
传递的参数无效。 |
FAILED_TO_CONNECT_TO_TEST_SUITE |
4 |
未能连接到测试应公开的 |
CASE_ENUMERATION |
5 |
未能枚举测试。 |
INTERNAL_ERROR |
6 |
发生了一些内部错误。测试管理器设置出了点问题。 查看日志并报告 bug。 |
NO_MATCHING_CASES |
7 |
没有与指定的测试过滤条件匹配的测试用例。只有在指定测试过滤条件时,才会返回此错误。如果测试套件中没有测试用例,则会通过该套件。 |
INVALID_MANIFEST |
8 |
测试清单无效。 |
LogsIteratorOption灵活
类型:uint32
在 fuchsia.test.manager/test_manager.fidl 中定义
用于指定客户端支持的迭代器类型的选项
名称 | 值 | 说明 |
---|---|---|
BATCH_ITERATOR |
0 |
|
ARCHIVE_ITERATOR |
1 |
|
SOCKET_BATCH_ITERATOR |
2 |
LogsIteratorType 灵活
类型:uint32
在 fuchsia.test.manager/test_manager.fidl 中定义
枚举替代日志迭代机制。
名称 | 值 | 说明 |
---|---|---|
批量 |
1 |
表示使用 |
足球 |
2 |
指示使用套接字,如 |
SuiteResult 灵活
类型:uint32
在 fuchsia.test.manager/test_manager.fidl 中定义
表示套件运行的结果。
名称 | 值 | 说明 |
---|---|---|
FINISHED |
1 |
套件正常完成,所有测试用例结果均为 |
失败 |
2 |
套件正常完成,但部分测试用例结果既非 |
DID_NOT_FINISH |
3 |
套件实现崩溃,未发送 |
TIMED_OUT |
4 |
整个套件运行超时。 |
已停止 |
5 |
套件运行已停止。 |
INTERNAL_ERROR |
6 |
SuiteStatus 灵活
类型:uint32
在 fuchsia.test.manager/test_manager.fidl 中定义
表示套件运行的状态。此排序是偏好设置的明确排序,从最低优先级到最高优先级。例如,如果除一个 FAILED 之外的所有 Cases 通过,则整个套件的状态将为 FAILED。
名称 | 值 | 说明 |
---|---|---|
通过 |
0 |
所有测试用例均通过/跳过。 |
失败 |
1 |
套件中至少有一个测试用例失败。 |
DID_NOT_FINISH |
3 |
套件实现崩溃,未发送 |
TIMED_OUT |
4 |
套件中至少有一个测试用例超时。 |
已停止 |
5 |
测试套件已停止。 |
INTERNAL_ERROR |
6 |
TestCaseResult 灵活
类型:uint32
在 fuchsia.test.manager/test_manager.fidl 中定义
表示测试用例运行的结果。
名称 | 值 | 说明 |
---|---|---|
已跳过 |
1 |
已跳过测试用例。 |
通过 |
2 |
测试用例已通过。 |
失败 |
3 |
测试用例失败。 |
TIMED_OUT |
4 |
测试用例超时。 |
ERROR |
5 |
套件实现未返回测试用例的结果。 |
表
充电盒
在 fuchsia.test.manager/test_manager.fidl 中定义
枚举测试用例的说明。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
name |
CaseName
|
测试用例的名称。 |
CustomArtifact 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
描述一个包含测试生成的“自定义”(未分类)工件的目录。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
component_moniker |
string[4096]
|
生成该目录的组件的名称(相对于测试领域的根目录)。 |
2 |
directory_and_token |
DirectoryAndToken
|
包含工件的目录。 |
DebugData 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
描述可用的调试数据。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
name |
string[512]
|
文件的名称。对于每个 |
2 |
socket |
handle<socket>
|
可访问文件的套接字。 |
EnumerateTestCasesOptions 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
用于指定应如何枚举测试用例的选项。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
realm_options |
RealmOptions
|
指定要在其中枚举测试用例的领域。如果未提供此字段,系统将在测试管理器内的封闭领域中枚举测试用例。需要非封闭领域或使用自定义运行程序的测试领域的客户可以使用此选项。 |
事件资源
在 fuchsia.test.manager/test_manager.fidl 中定义
通过 SuiteController.WatchEvents
传送的事件。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
timestamp |
zx/Time
|
事件发生的时间。 |
2 |
details |
EventDetails
|
事件的详细信息。 |
RealmOptions 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
用于指定测试套件应在哪个领域的选项。需要非封闭领域的客户端或使用自定义运行程序的测试领域会使用这些选项。如需了解详情,请参阅 [https://fuchsia.dev/fuchsia-src/develop/testing/components/create_test_realm] 和 [https://fuchsia.dev/fuchsia-src/develop/testing/components/test_runner_framework#non-hermetic_tests]。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
realm |
fuchsia.component/Realm
|
领域,包含要在其中启动测试的集合。必须填写此字段。 |
2 |
offers |
vector<fuchsia.component.decl/Offer>[1024]
|
从王国到测试收藏的所有方案。必须填写此字段。 |
3 |
test_collection |
string[255]
|
要在其中启动测试的测试集合。必须填写此字段。 |
RunEvent 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
timestamp |
zx/Time
|
|
2 |
payload |
RunEventPayload
|
RunOptions
在 fuchsia.test.manager/test_manager.fidl 中定义
有关执行测试套件的其他说明(可选)。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
run_disabled_tests |
bool
|
如果设置为 true,系统仍会执行已被测试作者停用的测试用例。默认值为 false。 |
2 |
parallel |
uint16
|
定义同时运行的最大测试用例数。
如果未指定,则由 |
3 |
arguments |
vector<string>
|
要传递给测试的可选参数。 测试运行程序将决定如何将这些参数传递给测试。 |
4 |
timeout |
zx/Duration
|
整个套件的超时时间(以秒为单位)。 |
5 |
case_filters_to_run |
vector<string>
|
glob 大小写过滤器。此过滤器将根据 glob 模式 [https://en.wikipedia.org/wiki/Glob_(programming)] 进行匹配。系统只会运行与至少一个模式匹配的测试用例。此外,可以通过添加“-”前缀来指定排除性过滤条件。如果指定排除性过滤条件,系统会排除与否定过滤条件匹配的测试用例。这些过滤器的组合行为如下:
例如,假设某个套件包含测试用例
|
6 |
log_iterator |
LogsIteratorOption
|
定义客户端支持的日志迭代器类型。默认值为批量迭代器。 |
7 |
log_interest |
vector<fuchsia.diagnostics/LogInterestSelector>[64]
|
为被测组件配置最低严重级别。 |
8 |
break_on_failure |
bool
|
如果为 true,测试运行程序应在遇到失败情况时停止(如果受支持)测试套件,以便将调试程序连接到进程。如果测试运行程序不支持停止正在运行的测试套件,则可以放心地忽略此错误。 添加数量:20
|
RunSuiteOptions 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
用于指定测试套件运行方式的选项。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
realm_options |
RealmOptions
|
指定要在其中运行测试套件的领域。如果未提供此字段,则测试将在测试管理器内的封闭领域中运行。需要非封闭领域或使用自定义运行程序的测试领域的客户可以使用此选项。 |
2 |
run_disabled_tests |
bool
|
如果此政策设为 true,系统仍会执行已被测试作者停用的测试用例。默认情况下,此值为 false。 |
3 |
max_concurrent_test_case_runs |
uint16
|
定义并发运行的测试用例的数量上限。如果未指定,则由测试套件组件决定此值。 |
4 |
arguments |
vector<string>[4095]
|
要传递给测试的命令行参数。测试运行程序会决定如何将这些参数传递给测试。默认情况下,此值为空矢量(无参数)。 |
5 |
timeout |
zx/Duration
|
整个套件运行的超时。如果未指定,则没有超时,套件运行可能会无限期地挂起。 |
6 |
test_case_filters |
vector<string>[1024]
|
将测试用例过滤条件作为 glob 模式 [https://zh.wikipedia.org/wiki/Glob_(programming)]。 可以在前面加上“-”来指定否定过滤条件。默认情况下,此值是一个空矢量(无过滤条件)。 如果同时满足以下两个条件,便会运行指定的测试用例:
例如,假设某个套件包含测试用例
|
7 |
logs_iterator_type |
LogsIteratorType
|
指定客户端将用于检索日志的迭代器类型。默认情况下,此值为 |
8 |
log_interest |
vector<fuchsia.diagnostics/LogInterestSelector>[64]
|
配置从测试套件组件过滤日志时要应用的最低严重级别。 |
9 |
accumulate_debug_data |
bool
|
如果此政策设为 true,为本次运行收集的调试数据会累积到测试管理器的 tmp 文件夹中,并包含之前在运行中收集的调试数据(将此标志设为 true)。默认值为 false。 当批量运行多项测试时,会使用此方法,并且与每次只传送一个测试相比,传送累积数据的性能更高。 |
SchedulingOptions
在 fuchsia.test.manager/test_manager.fidl 中定义
有关如何在测试运行中执行和安排套件的可选说明。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
max_parallel_suites |
uint16
|
并行运行的封闭测试套件的数量上限。如果未指定,则由服务器端选择。 |
2 |
accumulate_debug_data |
bool
|
如果此政策设为 true,此次运行收集的调试数据将与之前运行中收集的调试数据进行累积,并将此标志设为 true。默认值为 false。 |
SuiteArtifactGeneratedEventDetails 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
suite_artifact_generated
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
artifact |
Artifact
|
描述工件。将始终提供此字段。 |
SuiteEvent 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
timestamp |
zx/Time
|
|
2 |
payload |
SuiteEventPayload
|
SuiteStartedEventDetails
在 fuchsia.test.manager/test_manager.fidl 中定义
suite_started
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|
SuiteStoppedEventDetails
在 fuchsia.test.manager/test_manager.fidl 中定义
suite_stopped
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
result |
SuiteResult
|
套件搜索结果。将始终提供此字段。 |
TestCase
在 fuchsia.test.manager/test_manager.fidl 中定义
枚举测试用例的说明。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
name |
TestCaseName
|
测试用例的名称。 |
TestCaseArtifactGeneratedEventDetails 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
test_case_artifact_generated
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
与此事件相关的测试用例。此事件前面有一个“test_case found”事件,具有匹配的 ID。将始终提供此字段。 |
2 |
artifact |
Artifact
|
描述工件。将始终提供此字段。 |
TestCaseFinishedEventDetails
在 fuchsia.test.manager/test_manager.fidl 中定义
test_case_finished
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
与此事件相关的测试用例。此事件前面有一个“test_case found”事件,具有匹配的 ID。将始终提供此字段。 |
TestCaseFoundEventDetails
在 fuchsia.test.manager/test_manager.fidl 中定义
test_case_found
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
test_case_name |
TestCaseName
|
找到的测试用例的名称。将始终提供此字段。 |
2 |
test_case_id |
TestCaseId
|
在后续事件中标识此测试用例。此字段将始终提供,并且对于给定 |
TestCaseStartedEventDetails
在 fuchsia.test.manager/test_manager.fidl 中定义
test_case_started
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
与此事件相关的测试用例。此事件前面有一个“test_case found”事件,具有匹配的 ID。将始终提供此字段。 |
TestCaseStoppedEventDetails
在 fuchsia.test.manager/test_manager.fidl 中定义
test_case_stopped
事件的详细信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
与此事件相关的测试用例。此事件前面有一个“test_case found”事件,具有匹配的 ID。将始终提供此字段。 |
2 |
result |
TestCaseResult
|
测试用例结果。将始终提供此字段。 |
联合
工件灵活 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
描述一个或多个工件。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
stdout |
handle<socket>
|
工件是套件或测试用例的“stdout”流。工件通过套接字传送,此处提供其使用方端。 |
2 |
stderr |
handle<socket>
|
该工件是套件或测试用例的“stderr”流。工件通过套接字传送,此处提供其使用方端。 |
3 |
log |
Syslog
|
该工件是套件或测试用例的 syslog。该工件使用批处理迭代器或套接字进行传送。 |
4 |
custom |
CustomArtifact
|
工件是目录中的一个或多个文件,可以使用 |
5 |
debug_data |
DebugDataIterator
|
这些工件是使用 |
EventDetails 灵活 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
通过 SuiteController.GetEvents
传递的事件的详细信息。
suite_started
事件始终发生在与测试用例相关的任何事件之前,suite_stopped
事件始终位于任何测试用例事件之后。suite_artifact_generated
可能会在任何时间点(包括 suite_started
之前和 suite_stopped
之后)发生。
系统会针对套件中的所有测试用例生成一个 test_case_found
事件。如果启用了特定测试用例的运行(基于 RunSuiteOptions.test_case_filters
和 RunSuiteOptions.run_disabled_tests
),那么无论测试用例实际运行、运行是否成功,都会生成以下序列:
test_case_found
test_case_started
test_case_stopped
test_case_finished
测试用例的 test_case_artifact_generated
事件可能会在 test_case_found
事件之后、该测试用例的 test_case_finished
事件之前的任意时间点发生。请注意,多个事件的测试用例事件可以交错进行。
如果未启用测试用例运行,系统将为该测试用例生成 test_case_found
事件。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
suite_started |
SuiteStartedEventDetails
|
套件已开始执行。此事件之前可能会发生 |
2 |
test_case_found |
TestCaseFoundEventDetails
|
找到了 test_case。这始终是给定测试用例的第一个事件。 |
3 |
test_case_started |
TestCaseStartedEventDetails
|
测试用例开始执行。对于给定的测试用例,只会生成一个 |
4 |
test_case_artifact_generated |
TestCaseArtifactGeneratedEventDetails
|
来自测试用例的工件。请注意,给定测试用例的 |
5 |
test_case_stopped |
TestCaseStoppedEventDetails
|
测试用例已停止执行。此事件包含为测试用例生成的 |
6 |
test_case_finished |
TestCaseFinishedEventDetails
|
测试用例已完成,并且所有工件事件均已分派给客户端。这始终是给定测试用例的最后一个事件。 |
7 |
suite_artifact_generated |
SuiteArtifactGeneratedEventDetails
|
与整个套件相关的工件。 |
8 |
suite_stopped |
SuiteStoppedEventDetails
|
套件运行作业已停止执行。此事件包含生成的套件 |
LogsIterator 灵活 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
将迭代器的服务器端保留在测试的隔离日志中。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
2 |
batch |
server_end<fuchsia.diagnostics/BatchIterator>
|
迭代器的服务器端(当此协议被 Fuchsia 客户端使用时)。 |
3 |
stream |
handle<socket>
|
迭代器的服务器端端(当主机端客户端使用此协议时)。 此字段使用 fuchsia.diagnostics.host.ArchiveReader 中指定的协议。 |
Query_EnumerateInRealm_Result 严格
在 fuchsia.test.manager/test_manager.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Query_EnumerateInRealm_Response
|
|
2 |
err |
LaunchError
|
Query_Enumerate_Result 严格
在 fuchsia.test.manager/test_manager.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Query_Enumerate_Response
|
|
2 |
err |
LaunchError
|
RunEventPayload 灵活 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
运行执行的各种事件。测试运行的第一个事件始终为 run_started
。run_stopped
在测试运行停止时触发,并且始终在 run_started
之后触发。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
run_started |
RunStarted
|
测试运行开始执行。 |
2 |
run_stopped |
RunStopped
|
测试运行已停止执行。 |
3 |
artifact |
Artifact
|
测试运行生成了一个工件。 |
SuiteController_GetEvents_Result 严格 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SuiteController_GetEvents_Response
|
|
2 |
err |
LaunchError
|
|
3 |
framework_err |
internal
|
SuiteController_WatchEvents_Result 严格的 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SuiteController_WatchEvents_Response
|
|
2 |
err |
LaunchError
|
SuiteEventPayload 灵活 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
用于测试执行的各种事件。
测试用例的第一个事件将始终为 case_found
,最后一个事件为 case_finished
。事件 case_started
和 case_artifact
可按任意顺序排列。在 case_stopped
和 case_finished
之间可以存在一些 case_artifact
。suite_stopped
事件将始终在整个套件执行完毕后触发。请注意,suite_artifact
可能会随时触发。在客户端完全排空套件的所有事件的情况下,系统会针对找到的所有测试用例报告 case_stopped
和 case_finished
,即使测试组件未能报告结果也是如此。如果测试挂起,除非已在 RunOptions 中指定超时,否则 GetEvents 将挂起且无法完成。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
case_found |
CaseFound
|
找到了个案。 |
2 |
case_started |
CaseStarted
|
请求已开始执行 |
3 |
case_stopped |
CaseStopped
|
案例已停止执行,包含该案例的通过/失败/跳过结果。此事件之后,客户端可能仍会获得与此测试相关的工件。 |
4 |
case_finished |
CaseFinished
|
支持请求已完成,并将所有工件事件分派给客户端。 |
5 |
case_artifact |
CaseArtifact
|
支持请求中的工件 |
6 |
suite_artifact |
SuiteArtifact
|
套件中的工件。 |
7 |
suite_started |
SuiteStarted
|
套件已开始执行 |
8 |
suite_stopped |
SuiteStopped
|
套件运行作业已停止执行,包括套件结果。此事件后,客户端可能仍会获得与此套件相关的工件。 |
Syslog 灵活 资源
在 fuchsia.test.manager/test_manager.fidl 中定义
Syslog 的传送方式。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
2 |
batch |
fuchsia.diagnostics/BatchIterator
|
Fuchsia 客户端使用的迭代器的客户端端。 |
3 |
stream |
handle<socket>
|
主机端客户端使用的套接字的使用方一端。 |
TestCaseEnumerator_Enumerate_Result 严格
在 fuchsia.test.manager/test_manager.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
TestCaseEnumerator_Enumerate_Response
|
|
2 |
err |
LaunchError
|
|
3 |
framework_err |
internal
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_ARGUMENTS |
fuchsia.io/MAX_PATH_LENGTH
|
uint64 |
添加数量:20
|
MAX_ARGUMENT_LENGTH |
1024
|
uint64 |
添加数量:20
|
MAX_DEBUG_DATAS_PER_GET |
1024
|
uint64 |
添加数量:20
|
MAX_EVENTS_PER_WATCH |
1024
|
uint64 |
添加数量:20
|
MAX_FILTERS |
1024
|
uint64 |
添加数量:20
|
MAX_FILTER_LENGTH |
fuchsia.component/MAX_MONIKER_LENGTH
|
uint64 |
添加数量:20
|
MAX_OFFERS |
1024
|
uint64 |
添加数量:20
|
MAX_TEST_CASES_PER_GET |
1024
|
uint64 |
添加数量:20
|
MAX_TEST_COLLECTION_NAME_LENGTH |
fuchsia.io/MAX_NAME_LENGTH
|
uint64 |
添加数量:20
|
别名
名称 | 值 | 说明 |
---|---|---|
CaseName |
string [fuchsia.test/MAX_TEST_NAME ] |
测试用例的直观易懂的名称。 已弃用:20
|
TestCaseId |
uint32 |
测试用例标识符。在套件运行中是唯一的。 |
TestCaseName |
string [fuchsia.test/MAX_TEST_NAME ] |
测试用例的直观易懂的名称。 |