Fuchsia 測試輸出格式

本文件說明用來收集及儲存結果的目錄格式 和輸出內容目前的輸出語言是 已指定 --output-directory 選項時,執行 ffx 測試執行

背景

單次 ffx test 執行作業會產生測試執行作業。「測試執行作業」為 包含套件執行作業 (數量不限),而每個套件執行作業都包含 數量不限的測試案例

套件執行作業是指測試元件的執行作業。測試元件 通常能用來識別網址 fuchsia-pkg://fuchsia.com/run_test_suite_integration_tests#meta/passing-test-example.cm

測試案例是指執行套件中的單一測試案例。

此外,測試執行作業、套件或測試案例可能會產生構件。這些 包括 stdout、stderr 和 syslog 等測試的輸出內容。成果 則可是檔案或目錄

總覽

測試輸出內容會以目錄形式儲存。目錄包含 單一測試執行作業,以及其中包含的任何套件執行和測試案例。產生 目錄包含名為 run_summary.json 且任意數字的單一 JSON 檔案 子目錄每個子目錄都包含 或單一套件執行或測試案例

目錄版面配置

JSON 檔案一律稱為 run_summary.json,且一律會位於 根目錄層級。run_summary.json 包含整組 整體測試執行作業的結果、套件在測試執行期間執行,以及 每個套件中的案例數量這個檔案也包含每個構件的名稱 子目錄和其中的構件清單構件一律位於 位於 Artifact 子目錄的頂層

子目錄中的子目錄和產物名稱不是 做為結構定義的一部分而是應該使用子目錄的實際名稱 和構件列於 run_summary.json

run_summary.json 項內容

run_summary.json」的確切結構定義發布日期 fuchsia.dev.在 Fuchsia 來源中,這項服務位於 //sdk/schema 目錄內。

成果

構件可由單一檔案或目錄組成。下列 目前存在的構件,也是眾所皆知的事實。

類型 說明
記錄檔 從測試套件中執行的所有元件收集系統記錄檔。
RESTRICTED_LOG 導致測試失敗的任何高嚴重性記錄檔。
查詢 stdout。
技術 從測試中單一元件收集的 stderr。
檢舉 ffx 測試產生的 stdout 輸出內容副本。
自訂 測試中元件產生的一組任意檔案。

剖析

必須先剖析結果,才能處理測試結果的工具 run_summary.json,因為這是輸出目錄的唯一部分, 在結構定義中定義的位置目錄的其餘內容是 由 run_summary.json 描述。工具不應假設任何特定命名方式 輸出構件或子目錄的慣例。

範例

這個範例輸出內容是對ffx test 範例測試

$ ffx test run --output-directory /tmp/ffx-out fuchsia-pkg://fuchsia.com/stdout-test#meta/stdout-test.cm

ffx test 產生的 /tmp/ffx-out 目錄內容如下 請參閱範例/測試

RFC-0163:RFC 提出此輸出內容。