lnt
工具¶
lnt
命令列工具提供下列命令,供客戶端使用和伺服器端使用。以下列出各個命令和最重要的選項,使用 lnt <工具名稱> --help
以取得特定工具的詳細資訊。
客戶端工具¶
lnt checkformat [<檔案>]
檢查 LNT 測試報告檔案的語法。除了驗證 LNT 是否可以讀取原始格式(例如,JSON 或屬性清單)之外,這還會建立暫時的記憶體內數據庫實例,並確保可以正確匯入測試報告檔案。
如果在沒有引數的情況下執行,則預期會從
stdin
讀取輸入檔案。lnt convert <輸入 路徑> [<輸出 路徑>]
在 LNT 測試報告格式之間轉換。根據預設,這會轉換為屬性清單格式。您可以使用
-
作為輸入(從stdin 讀取)或輸出(寫入 ``stdout
)。lnt importreport <輸入 路徑> [<輸出 路徑>]
將基於文字的鍵值對轉換為 LNT json 報告檔案。
lnt submit <伺服器 網址> <檔案>+
將一個或多個檔案提交至指定的伺服器。
<伺服器 網址>
應該是伺服器上實際submitRun
頁面的網址;提交到的數據庫實際上是此網址的一部分。lnt showtests
列出可用的內建測試。如需此工具的更多詳細資訊,請參閱測試產生器文件。
lnt runtest [<執行 選項>] <測試 名稱> ... 測試 參數 ...
執行內建測試。如需此工具的更多詳細資訊,請參閱測試產生器文件。
lnt check-no-errors <檔案>+
檢查報告檔案的執行區段中是否包含 “no_errors”: true,否則以返回代碼 1 結束。這對於想要在任何基準測試未正確編譯或執行時報告錯誤的持續整合腳本很有用。
伺服器管理¶
lnt admin
工具允許透過 LNT 的 REST API 連接到伺服器,並執行資料查詢和修改。只有在 lntadmin.cfg 檔案中指定的驗證機制下才能修改資料。如需詳細資訊,請參閱寫入操作。
lnt admin create-config
在當前目錄中建立 lntadmin.cfg 設定檔。該檔案描述了 LNT 伺服器的 URL、驗證設定以及預設資料庫和測試套件設定。如果該檔案存在,其他管理命令將會讀取它。
lnt admin list-machines
列出機器及其 ID 號碼。
lnt admin machine-info <機器>
顯示有關指定機器的資訊。
lnt admin get-machine <機器>
下載機器資訊並將資料儲存到 JSON 檔案中。
lnt admin rm-machine <機器>
移除指定的機器以及相關的執行和範例。
lnt admin rename-machine <機器> <新名稱>
重新命名指定的機器。
lnt admin merge-machine-into <機器> <合併目標機器>
將所有執行從一台機器移至另一台機器,並刪除該機器。
lnt admin list-runs <機器>
列出指定機器的所有執行。
lnt admin get-run <執行>+
下載指定的執行。
lnt admin post-run <檔案名稱>+
將指定的報告檔案作為新的執行發佈到伺服器。
lnt admin rm-run <執行>+
移除指定的執行和相關的範例。
伺服器端工具¶
以下工具用於與 LNT 伺服器互動。
lnt create <路徑>
建立新的 LNT 伺服器執行個體。此命令具有許多參數來調整生成的伺服器,但它們都可以在 LNT 設定檔中修改。
預設伺服器將有一個名為 *default* 的 sqlite3 資料庫。您可以使用
--db-dir postgresql://user@hostname
指定使用 PostgreSQL。lnt import <執行個體 路徑> <檔案>+
將 LNT 資料檔案匯入資料庫。您可以使用
--database
來選擇要寫入的資料庫。請注意,預設情況下,如果在設定中啟用了報告電子郵件,這也會產生報告電子郵件,您可以使用--no-email
來停用此功能。lnt runserver <執行個體 路徑>
使用開發 WSGI 伺服器啟動 LNT 伺服器。可以使用其他選項來控制伺服器主機和連接埠,以及有用的開發功能,例如自動重新載入。
lnt updatedb --database <名稱> --testsuite <名稱> <執行個體 路徑>
修改指定的資料庫和測試套件。
目前僅支援
--delete-machine
和--delete-run
指令。
所有使用執行個體路徑的指令都支援傳入 lnt.cfg
檔案的路徑、執行個體目錄的路徑或(壓縮的)tarball 的路徑。tarball 將自動解壓縮到一個臨時目錄中,並在退出時刪除。這對於測試和來回傳遞資料庫執行個體很有用,例如,當其他人只需要能夠檢視結果時。