什麼是 Fuchsia CTF?
如需 CTF 的詳細說明,請參閱 CTF 總覽。
CTF 的發布時間表為何?
CTF 有多個發布頻率不同的版本:
發布 | 安排時間 |
---|---|
Canary 版 | ~4 小時 |
里程碑 | ~6 週 |
系統會在建立 Fuchsia 平台的新初期測試版本時建立初期測試版本。同樣地,當您建立 Fuchsia 平台的新里程碑版本時,系統就會建立里程碑版本。
里程碑分支版本 (例如版本/f7) 經常會收到櫻桃精選。發生這種情況時,系統會為該里程碑產生新的 CTF,並自動納入 CI/CQ。
我的 CTF 測試何時會在 CQ 上開始?
樹狀結構的測試小費版本會立即在 CI/CQ 上執行。這個版本的測試不保證回溯相容性。
下一個 CTF 版本剪下後,會包含測試快照的測試快照,這個快照會在 CTF 版本發布至 CI/CQ 後立即開始執行。這個版本的測試保證回溯相容性。
如需發布時間表,請參閱上方的本節。
CTF 在 CQ 中使用哪種測試環境?
請前往 go/fuchsia-builder-viz。尋找名稱結尾是「-cts」的建構工具。
在 Fuchsia 模擬器中,所有 CTF 測試至少都會在 core.x64 映像檔上執行。
如何得知哪一個 CTF 測試失敗了?
CQ 一次可能會執行相同 CTF 測試的多個版本:樹狀提示中的版本、最新初期測試版本,以及先前的里程碑版本。
CTF 測試套件會按照所測試的 Fuchsia API 級別命名:
| 版本 | 套件名稱範例 | |-|-| | 樹狀圖 | 我的測試 | | 初期測試 | 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 會破壞平台途徑區域的一部分。請確認下游存放區中沒有任何專案依賴您 CL 修改的 API 和 ABI。若是如此,您將需要進行柔性轉換。一般工作流程如下:
- 提交介紹變更中新行為的 CL,並確認 CTF 測試的樹狀小費版本已通過。
- 通知任何下游 SDK 使用者即將進行破壞性變更,並請他們進行遷移並依賴新行為。
- 等待下一個 CTF 版本匯入 CI/CQ。
- 提交 CL 以移除舊行為。
是否有 CTF 測試的例子?
請參閱 //sdk/ctf/examples 和 //sdk/ctf/tests。
撰寫 CTF 測試的時機和原因為何?
如果測試的軟體屬於公開或合作夥伴的 SDK 類別,則您應編寫 CTF 測試。
如何移除 CTF 測試?
其他問題
如有其他問題,請與 fuchsia-ctf-team@google.com 聯絡,或在 CTF 錯誤元件中回報錯誤。