為了在 CQ 中測試不穩定,基礎架構可以執行 導致整體建構失敗。這個 當基礎架構判定 受測試的修訂版本影響的測試數量 (依據建構版本 圖表)。
格式
變更作者可以指示基礎架構多次執行特定測試
在修訂訊息中加入 Multiply
頁尾:
Multiply: test_selector
test_selector
可以是測試名稱、測試名稱的子字串或
符合 re2 規則運算式
測試名稱
套件網址會參照 Fuchsia 元件測試:
Multiply: fuchsia-pkg://fuchsia.com/foo_tests#meta/foo_tests.cm
主機測試是以路徑參照:
Multiply: host_x64/obj/src/bar_tests.sh
系統也接受測試名稱的子字串:
Multiply: foo_tests
Multiply: bar_tests
調節係數可合併為一行,並以半形逗號分隔:
Multiply: foo_tests, bar_tests
系統也接受 MULTIPLY
全部大寫。
實際變更的 Multiply
使用範例:
Multiply: driver_development_test
Multiply: ffx_daemon_target_lib_test
Multiply: virtual-keyboard-test
Multiply: text_manager_integration_test: 10
執行作業數
根據預設,基礎架構會使用歷來測試時間長度資料來計算 執行次數系統會選擇執行作業數,產生單一乘數測試 資料分割的持續時間與其他資料分割的預期持續時間相似,向上 最多 2000 次測試速度較慢的測試可減少執行次數,同時速度較快 執行更多測試
有時候,您可能會希望覆寫預設的執行作業次數 (例如, 因為預設值過高,因而造成逾時)。在這種情況下,您可以 明確指定執行作業數例如:
Multiply: foo_tests: 100
限制
驗證
如果 Multiply
子句中有錯字,或 Multiply
選取器有錯字
在任何建構工具上都找不到相符的測試,成功將失敗
測試。
因此,請務必手動驗證 Multiply
是否已生效。
針對 Multiply
生效的每個建構工具,
您在 Gerrit 中所做的變更將加入下列表單:
A builder created multiplier shards. Click the following link for more details:
註解中會包含執行加倍測試的建構連結 (範例)。
如果沒有顯示這類註解,可能是因為語法或註解有誤 測試不會在任何一般 CQ 建構工具中執行。此時,您必須有 將其新增至建構圖表,讓其中一個建構工具執行 在選擇性步驟中,手動選擇執行測試的試用工作 建立工具
如果連結的建構已完成,則其中一個 passes
、flakes
或 failures
步驟下方應該會顯示類似 multiplied:<shard
name>-<test name>
的步驟。如果
建構尚未完成,您可以按一下 build
步驟底下的連結
名為 <builder name>-subbuild
的頁面,會將您帶往子建構頁面
顯示類似的 multiplied
步驟。由於留言
指定哪些測試已相乘,您可以查看建構頁面來確認
(如果將多項測試相乘)。
例如:
最多五個相符的測試
單一調節係數最多只能比對五項測試,以防止 避免作者不小心加倍數項測驗, 測試基礎架構
如果您因為符合下列情況的 Multiply
陳述式而失敗工作,
只需在本機或 Gerrit UI 中編輯修訂版本訊息即可
為測試選取器建立更具體的測試選取器接著重試 CQ。
在 CQ 模擬測試結束後變更 Multiply
如果所有嘗試工作均已通過 CQ 模擬測試,且您新增或編輯 Multiply
子句,且並未變更任何程式碼,則在
在模擬測試的 24 小時內,系統不會重新執行建構工具和更新後的 Multiply
子句不會生效。
這是因為 CQ 服務會將修訂訊息更新視為「trivial」和 不會使修補程式集之前的 CQ 嘗試失效。
如要解決這個問題,您可以採取下列任一做法:
- 使用「選擇試用工作」選單,手動重試部分試用工作,然後稍候片刻 以便送交審核。
- 或者,進行非功能性的程式碼變更,重試所有嘗試工作 (例如將
新增註解給某些程式碼) 並上傳新的修補程式集,藉此使
嘗試工作結果接著重試 CQ 並在頁尾顯示
Multiply
。
逾時
相乘測試的預設執行作業數是根據過往持續時間計算得出 進行測試。如果變更會增加乘以測試時間長度 預設執行次數可能過高,導致執行測試的工作執行時間。 而非回報任何結果。
在這種情況下,您必須手動指定 降低的執行次數,例如:
Multiply: foo_tests: 30
沒有任何測試案例調節係數
Multiply
僅支援將頂層套件的乘法 (Fuchsia 測試)
套件和主機測試執行檔)。重複測試中的所有測試案例
套件會乘以 300%
測試套件中的單一測試案例無法相乘。