測試

快速啟動

如要建構 Zircon 並執行單元測試,請執行下列其中一項指令:

# Build and run x64.
fx set bringup.x64 --with-base //bundles/buildbot/bringup
fx build
fx qemu

# Build and run arm64.
fx set bringup.arm64 --with-base //bundles/buildbot/bringup
fx build
fx qemu

指令碼執行完畢後,您應該會看到 Zircon 殼層。跑步 使用者空間測試,請使用 Zircon 殼層執行:

runtests --all

您可以使用 runtests --all -d,查看 有些人會將 Cloud Storage 視為檔案系統 但實際上不是您也可以使用 runtests -n <TEST_NAME> 執行一項特定測試。

如要執行核心測試,請使用 Zircon 殼層執行:

k ut all

如要進一步瞭解如何完成這項操作,請參閱 Fuchsia 的「開始使用」頁面 使用 Zircon 殼層,以及如何自動建立所有支援的架構。

使用者空間測試

測試控管工具、執行測試、從 /boot/test/system/test 目錄。如果您提供指令列 引數 (例如 runtests -m widget_test) 只會執行 一個測試請求 -- 本例中的是 widget_test

核心模式測試

核心包含單元測試和診斷,可透過 k 執行 指令k 指令的輸出內容只會顯示在 控制台。視您的設定而定,此項目可能是序列控制台 debuglog 虛擬終端機。

單元測試

核心的許多部分都有單元測試,可回報成功/失敗問題 。這些單元測試是使用 核心單元測試程式庫。 您可以搜尋 UNITTEST_START_TESTCASE,以靜態方式找到這些資訊。

這些測試可以透過 k ut 從殼層執行。「k ut all」會執行所有測試 您也可以使用 k ut $TEST_NAME 執行特定測試

診斷

核心的許多部分提供診斷,其輸出需要手動進行 以及檢查 10 層伺服器部分診斷資料是用於驗證正確性 (例如 timer_diag), 有些則僅是對系統的一部分進行壓力測試 (例如 timer_stress)。

如要執行診斷,只要將其名稱傳遞至 k 指令即可。舉例來說 執行核心的內建 基準, 執行 k bench。如要以靜態方式找到完整的核心診斷資訊,請搜尋 STATIC_COMMAND。如要動態列舉這些變數,請執行 k help

診斷測試適合透過序列控制台執行, 系統的存取權限。部分診斷可能會帶來破壞,因而直接留在系統內 就會發生故障