ffx product-bundle bisect 指令會將組件構件一分為二,協助找出產品套裝組合中的迴歸。
概念
如果產品套件的兩個版本之間發生錯誤或行為變更,
ffx product-bundle bisect可以協助找出導致變更的特定構件 (平台、開發板或產品)。運作方式:
- 產生已知良好版本 (
--from-success) 和已知不良版本 (--to-failure) 之間發布的版本清單。 - 使用不同版本的構件組合組裝中繼產品組合。
- 對這些中繼套件進行測試,判斷是否通過。
這項工具會對構件使用二分搜尋 (或中位數切分) 方法,快速縮小回歸來源的範圍。
用量
您可以按照工具的提示手動執行二分搜尋。
手動對分
如要開始在兩個已知版本的產品套件之間進行二分搜尋,請執行下列指令:
ffx product-bundle bisect <name> --from-success <version> --to-failure <version>將 <name> 替換為產品組合名稱 (例如 core.vim3),並將 <version> 替換為產品組合版本號碼。
這項工具會組裝中繼套件,並提示您進行測試。測試完成後,請告知工具該步驟是否通過測試,工具會計算下一個步驟。
暫停及繼續
您隨時可以按 CTRL+C 暫停二分程序。工具會儲存狀態。下次執行完全相同的 ffx product-bundle bisect 指令時,系統會詢問您要繼續上次的執行作業,還是重新開始。
選項
「ffx product-bundle bisect」的詳細選項:
--from-success:產品組合的已知良好版本。--to-failure:產品組合的已知錯誤版本。--slot:要二等分的分位 (a或r)。預設為分位a。--out-dir:用於寫入組裝圖片和其他構件的目錄。預設為~/plan_directory/out。--gen-dir:用於寫入中繼檔案的目錄。預設值為~/plan_directory/gen。--auth:用於擷取構件的驗證方法。
範例
手動分割產品組合:
ffx product-bundle bisect core.vim3 \
--from-success 29.20250826.6.1 \
--to-failure 29.20250905.6.1