主机-目标互动测试

在本文档中,“目标”是指运行被测试的紫红色版本的机器,“主机”是指运行某个稳定操作系统的机器。主机-目标交互测试在主机上运行,并与目标进行交互。

GN 声明

如需在 GN 中声明主机-目标交互测试,请执行以下操作:

  1. 声明一个测试可执行文件。
  2. 指定一个或多个包含 Fuchsia(目标)设备的环境
  3. 测试软件包与测试可执行文件之间添加依赖项,并指定 host_toolchain

例如:

# Doesn't have to be go_test. This is just an example.
go_test("an_hti_test") {
    ...
    # Declares that Fuchsia should be running in an emulator before this test
    # starts on the host.
    environments = [emu_env]
    ...
}

# This should be included in the transitive deps of some tests bundle.
group("tests") {
    testonly = true
    # Anything that depends on ":tests" will build the test as a host test.
    public_deps = [":an_hti_test($host_toolchain)"]
}

主机测试 API

持续集成基础架构(也称为“基础架构”)和 fx test 会启动目标,然后在主机上调用测试。

SL4F 是主机与目标交互的一种方式。SL4F 主机库负责与目标建立连接。

不想使用 SL4F 的测试可以解析这些环境变量并处理它们自身与主机的通信:

  • FUCHSIA_IPV4_ADDR:IPv4 地址。
  • FUCHSIA_IPV6_ADDR:IPv6 地址。
  • FUCHSIA_SSH_KEY:SSH 密钥文件路径。