常见问题解答

什么是 Fuchsia CTF?

如需了解什么是 CTF,请参阅 CTF 概览

CTF 发布时间表是怎样的?

CTF 有多个版本,发布节奏不同:

版本 时间表
Canary 版 大约 4 小时
Milestone 大约 6 周

在 Fuchsia 平台有新的 Canary 版本时,系统会创建 Canary 版本 资源。同样,在有新的里程碑版本时,系统也会创建里程碑版本 平台组件

里程碑分支(例如 release/f7)经常会得到择优结果。当 系统会为该重大事件生成一个新的 CTF,并自动 CI/CQ。

我的 CTF 测试何时开始在 CQ 上运行?

树尖版本的测试将立即在 CI/CQ 上运行。 此版本的测试不保证向后兼容性。

当下一个 CTF 版本定型时,它将包含测试的快照, 树形结构,也就是在 CTF 版本进入到 CI/CQ。此版本的测试可保证向后兼容性。

如需了解发布时间表,请参阅上文此部分

CTF 在 CQ 中使用哪种测试环境?

请访问 go/fuchsia-builder-viz。查找名称以“-cts”结尾的构建器。

至少,所有 CTF 测试都在 Fuchsia 模拟器中的 core.x64 映像上运行。

如何判断 CTF 测试的哪个版本失败?

CQ 可以同时运行同一 CTF 测试的多个版本: 最新 Canary 版本以及上一个里程碑版本 发布。

CTF 测试包以其测试的 Fuchsia API 级别命名:

|版本 |软件包名称示例 | |-|-| |树尖 |my_test | |Canary |my_test_apicanary | |API 级别 $N |my_test_api$N |

完整的软件包网址如下所示:

fuchsia-pkg://fuchsia.com/my_test_api24#meta/my_test.cm

如何在本地重现 CTF 测试失败情况?

如需构建和运行测试的特定版本,您可以执行以下操作: 请参考以下示例:

# Build the test.
fx set //sdk/ctf/tests/fidl/fuchsia.example:tests
fx build

# Run all versions.
fx test

# Run the version for API level 20.
fx test fuchsia.example_test_api20

另请参阅有关运行 Fuchsia 测试的此指南

如果 CTF 测试阻止了我的 CL,我该怎么办?

这表示您的 CL 破坏了一部分平台 surface。 请确认下游代码库中没有依赖于 。如果是这样,您需要 软过渡。常规工作流程如下:

  1. 提交在更改中引入新行为的 CL,并验证 CTF 测试通过的树尖版本。
  2. 通知任何下游 SDK 用户即将发生的重大变更,并让他们 并依赖于新行为。
  3. 等待下一个 CTF 版本发布到 CI/CQ。
  4. 请提交 CL 以移除旧行为。

是否有 CTF 测试示例?

请参阅 //sdk/ctf/examples//sdk/ctf/tests

为何应该在何时编写 CTF 测试?为何要编写 CTF 测试?

如果被测软件是公开提供的,则应编写 CTF 测试 合作伙伴 SDK 类别

如何移除 CTF 测试?

请参阅贡献指南中关于 移除测试

其他问题

如有其他问题,请发送电子邮件至 fuchsia-ctf-team@google.com 或 在 CTF bug 组件中提交 bug。