常見問題

為什麼在基礎架構版本中,我的效能測試會執行兩次?

針對包含 fuchsia_test_package 和主機端包裝函式的效能測試,測試邏輯最終可能會在基礎架構建構作業中執行兩次:一次透過主機端包裝函式,一次則沒有納入僅限 Fuchsia 端測試。

並不理想,因為:1) 會浪費基礎架構容量,2) 測試套件有時會在不尋常或緩慢的建構設定 (例如 ASan、涵蓋範圍、QEMU) 中執行,導致效能不穩定或執行時間過長。

(然而,有時是最理想的做法,例如測試套件預設在「單元測試模式」中執行測試時,也就是只使用少量的測試疊代,而非「效能測試模式」。

之所以發生問題,是因為將 fuchsia_test_package 新增至建構工具設定的依附元件集,通常會導致建構工具以僅限 Fuchsia 端 (目標端) 測試的形式執行。

為解決這個問題,建議將以下內容新增至 BUILD.gn 檔案的 fuchsia_test_package 宣告中:

  # Prevent this test from being run as a target-side test, because it
  # is run by a host-side wrapper.
  test_specs = {
    environments = []
  }