协议
RealmProxy
在 fuchsia.testing.harness/realm_proxy.fidl 中定义
此协议为测试套件对被测组件的访问进行中介。
RealmProxy 是一种自动化测试框架,可让某些测试套件按需创建被测组件的实例。最重要的是,测试套件不必知道会创建哪些组件或如何创建这些组件;只需知道组件会公开哪些功能即可。
例如, Fuchsia 文件系统的通用测试套件可以使用 RealmProxy 协议生成从 fuchsia.io FIDL 库提供协议的组件。测试套件不需要知道它正在测试哪个文件系统,也不需要知道文件系统的初始化方式。只需使用 fuchsia.io 协议的名称调用 [ConnectToNamedProtocol] 并开始测试即可。通过使用初始化不同文件系统的不同代理来运行此测试套件,我们可以使用同一套件来验证每个系统。
更喜欢连接到 RealmFactory 而不是获取 RealmProxy 的实例;将来,无法再发现 RealmProxy TODO(https://fxbug.dev/42077343)。
ConnectToNamedProtocol
从此代理的命名空间将 [server_end] 连接到 [协议]。
请求
名称 | 类型 |
---|---|
protocol |
string[255]
|
server_end |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
RealmProxy_ConnectToNamedProtocol_Result
|
ConnectToServiceInstance
从此代理的命名空间将 [server_end] 连接到 [服务]/[实例]。
请求
名称 | 类型 |
---|---|
service |
string[255]
|
instance |
string[255]
|
server_end |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
RealmProxy_ConnectToServiceInstance_Result
|
OpenService
从此代理的命名空间将 [server_end] 连接到 [service] 目录。
请求
名称 | 类型 |
---|---|
service |
string[255]
|
server_end |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
RealmProxy_OpenService_Result
|
结构
RealmProxy_ConnectToNamedProtocol_Response
在 fuchsia.testing.harness/realm_proxy.fidl 中定义
<EMPTY>
RealmProxy_ConnectToServiceInstance_Response
在 fuchsia.testing.harness/realm_proxy.fidl 中定义
<EMPTY>
RealmProxy_OpenService_Response
在 fuchsia.testing.harness/realm_proxy.fidl 中定义
<EMPTY>
枚举
OperationError灵活
类型:uint32
在 fuchsia.testing.harness/errors.fidl 中定义
Fuchsia 自动化测试框架操作错误类型。
自动化测试框架负责维护特定测试运行的状态。当操作失败时,系统会返回此类型。
名称 | 值 | 说明 |
---|---|---|
INVALID |
0 |
请求的操作无效。 当测试用例要求自动化测试框架执行与自动化测试框架的当前状态不兼容的操作时,系统将返回此代码。此错误表示测试代码本身存在 bug。 返回此值必须无法通过相应的测试。 示例:在创建文件之前,测试需要确定文件的大小。 |
失败 |
1 |
请求的操作失败。 当自动化测试框架未能完成某项操作时,系统将返回此错误,即使当前状态应该允许该操作正常运行。此错误表示自动化测试框架依赖项中存在 bug。 返回此值必须无法通过相应的测试。 示例:测试询问创建文件后的大小,但查询失败。 |
不支持 |
2 |
此自动化测试框架不支持所请求的操作。 当自动化测试框架不支持请求的操作时,系统会返回此错误。这不一定是严重错误,它用于表示自动化测试框架了解请求的内容,但它未实现相应行为。 返回此值可能会使相应的测试失败,但这并不是必需的。此返回值有助于确定与不同功能集或版本的兼容性。 示例:测试要求提供文件的大小,但之前的组件版本移除了检查文件大小的功能。 |
联合
RealmProxy_ConnectToNamedProtocol_Result 严格
在 fuchsia.testing.harness/realm_proxy.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
RealmProxy_ConnectToNamedProtocol_Response
|
|
2 |
err |
OperationError
|
RealmProxy_ConnectToServiceInstance_Result strict
在 fuchsia.testing.harness/realm_proxy.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
RealmProxy_ConnectToServiceInstance_Response
|
|
2 |
err |
OperationError
|
RealmProxy_OpenService_Result 严格
在 fuchsia.testing.harness/realm_proxy.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
RealmProxy_OpenService_Response
|
|
2 |
err |
OperationError
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_PROTOCOL_LEN |
fuchsia.io/MAX_NAME_LENGTH
|
uint64 |
一个 FIDL 协议名称中允许的最大字符数。 这设置为文件系统节点名称的最大长度,因为我们通常使用文件系统发现协议。 添加了:HEAD
|