第 14 集:MTV 中的 Zhaoyang Li 和 Eric Aleshire 在 TOK 寫的 (2020 年 10 月)
先前的集數
想要在 Chrome 中偵測新功能的迴歸問題嗎?將您的測試新增至「刊登序列」(Chrome 的持續建構與測試基礎架構)!
Chrome 刊登序列有許多建構工具,會在各種平台上執行測試。本文說明如何將測試套件新增至現有的建構工具。繼續操作前,請先考慮下列問題:
新的測試應該納入全新的套件,還是只加入現有套件?
- 測試是依據來源位置和主題的鄰近程度整理在測試套件中。如果新測試無法符合任何現有套件的邏輯,您可能需要新的套件。
測試是在公開建構工具或內部建構工具執行嗎?
- 如果程式碼位於內部存放區,或測試涉及機密資料,請使用內部建構工具。
測試是否會在 FYI CI、主要 CI 或修訂版本佇列(CQ) 中執行?
- FYI CI 需要您自行監控,並用於測試修正或實驗。
- 管理階層會定期監控主要 CI 測試。
- CQ 會在失敗時封鎖 CL 提交作業,但需要更多基礎架構資源。新套件應在升級為 CQ 之前從持續整合開始。
- 如果不確定,貴機構平台的 EngProd 團隊可協助您做出決定。
我已經有在 CI 中執行的測試套件,該如何將其新增至 CQ?/ 如果我需要新的建構工具,該怎麼辦?
- 在 Infra>Client> Chrome 元件中回報錯誤,讓
chrome-browser-infra@
團隊開始評估並協助您完成設定。
如何將測試套件新增至現有的建構工具
如要將測試套件新增至現有建構工具,您必須在 //src/testing/buildbot/
中設定一些檔案:
- 在
gn_isolate_map.pyl
中,為新的測試套件建立金鑰,其中含有測試目標標籤和類型資訊。 在
test_suites.pyl
中將金鑰加入測試群組。 您可在waterfalls.pyl
中找到建構工具名稱與測試群組的對應關係。'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
更多微調
mixins.pyl
包含引數,可套用至不同群組層級的一組測試。variants.pyl
有助於在具有不同引數的多個執行個體中執行套件。
執行
generate_buildbot_json.py
,以重新產生設定檔。
完成這些操作後,就可以輕鬆檢查設定變更;執行這個套件的建構工具會自動接收新測試,而刊登序列中的建構工具結果會開始在網頁介面中流動;萬一出現錯誤,也會提供大量偵錯資訊!