常见问题解答

为什么我的性能测试在基础架构 build 中运行两次?

适用于包含 fuchsia_test_package 和 主机端封装容器,因此测试逻辑最终在 基础架构构建:一次通过主机端封装容器进行,另一次通过不使用 封装容器仅作为 Fuchsia 端测试。

这种情况是不可取的,因为:1) 会浪费基础设施容量,以及 测试软件包有时最终会在异常或缓慢的 build 中运行 例如 ASan、覆盖率、QEMU) 因为运行时间过长

(不过,有时也可能需要这样做,例如,当测试软件包 在“单元测试模式”下运行其测试即默认使用一小段 测试迭代次数,而不是“性能测试模式”)。

之所以会出现这个问题,是因为向集合添加了 fuchsia_test_package 构建依赖项的依赖项通常会导致 构建器以将其作为仅限 Fuchsia 端(目标端)测试运行。

若要解决此问题,建议您将以下内容添加到 BUILD.gn 文件中的 fuchsia_test_package 声明:

  # Prevent this test from being run as a target-side test, because it
  # is run by a host-side wrapper.
  test_specs = {
    environments = []
  }