偵錯並執行自訂測試套件 - 免費 RTOS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

偵錯並執行自訂測試套件

置所需的配置後,IDT 可以運行您的測試套件。完整測試套件的運行時取決於硬件和測試套件的組合。作為參考, 它需要大約 30 分鐘來完成完整的 FreeRTOS 資格測試套件上樹莓派 3B.

在編寫測試套件時,可以使用 IDT 在調試模式下運行測試套件,以在運行代碼之前檢查代碼或將其提供給測試運行程序。

在除錯模式下執行 IDT

由於測試套件依賴 IDT 與設備交互,提供上下文並接收結果,因此您無法在沒有任何 IDT 交互的情況下簡單地在 IDE 中調試測試套件。為此,IDT CLI 提供了可讓您在除錯模式下執行 IDT 的debug-test-suite命令。執行下列命令以檢視下列項目的可用選項debug-test-suite

devicetester_[linux | mac | win_x86-64] debug-test-suite -h

當您在偵錯模式下執行 IDT 時,IDT 實際上並不會啟動測試套件或執行測試協調程式;相反,它會與 IDE 互動,以回應從 IDE 中執行的測試套件發出的要求,並將記錄檔列印到主控台。IDT 不會逾時並等待結束,直到手動中斷為止。在偵錯模式下,IDT 也不會執行測試協調程式,也不會產生任何報告檔案。要調試您的測試套件,您必須使用 IDE 來提供 IDT 通常從配置文件中獲取的一些信息。請務必提供下列資訊:

  • 每個測試的環境變數和引數。IDT 不會從test.jsonsuite.json讀取此資訊。

  • 用於選取資源裝置的引數。IDT 不會從test.json中讀取此信息。

若要偵錯測試套件,請完成以下步驟:

  1. 建立執行測試套件所需的設定組態檔案。例如,如果您的測試套件需要device.jsonresource.json、和user data.json,請確保您根據需要配置所有這些。

  2. 執行下列命令,將 IDT 置於偵錯模式,並選取執行測試所需的任何裝置。

    devicetester_[linux | mac | win_x86-64] debug-test-suite [options]

    運行此命令後,IDT 會等待來自測試套件的請求,然後對其進行響應。IDT 也會產生 IDT 用戶端 SDK 案例程序所需的環境變數。

  3. 在您的 IDE 中,使用rundebug組態來執行下列動作:

    1. 設定 IDT 產生的環境變數的值。

    2. 設定您在test.jsonsuite.json檔案中指定的任何環境變數或引數的值。

    3. 視需要設定中斷點。

  4. 在 IDE 中執行測試套件。

    您可以根據需要多次調試和重新運行測試套件。IDT 在除錯模式下不會逾時。

  5. 完成除錯之後,請中斷 IDT 以結束偵錯模式。

用於運行測試的 IDT CLI 命令

下一節將說明 IDT CLI 指令:

IDT v4.0.0
help

列出所指定命令的相關資訊。

list-groups

列出指定測試套件中的群組。

list-suites

列出可用的測試套件。

list-supported-products

列出您 IDT 版本的支援產品 (在此例中為 FreeRTOS 版本),以及目前 IDT 版本可用的 FreeRTOS 資格測試套件版本。

list-test-cases

列出特定測試群組中的測試案例。支援下列選項:

  • group-id。 要搜尋的測試群組。此選項為必要選項,且必須指定單一群組。

run-suite

在裝置集區上執行測試套件。以下是一些常用的選項:

  • suite-id。 要運行的測試套件版本。如果未指定,IDT 會使用 tests 資料夾中的最新版本。

  • group-id。 要執行的測試群組,以逗號分隔的清單形式。如果未指定,IDT 會執行測試套件中的所有測試群組。

  • test-id。 要運行的測試用例,以逗號分隔的列表。指定時,group-id 必須指定單一群組。

  • pool-id。 要測試的裝置集區。如果測試運行程序在您的device.json文件中定義了多個設備池,則必須指定一個池。

  • timeout-multiplier。 設定 IDT 以修改test.json檔案中指定的測試執行逾時,使用使用者定義的乘數進行測試。

  • stop-on-first-failure。 設定 IDT 以在第一次失敗時停止執行。此選項應與 group-id 搭配使用以偵錯指定的測試群組。

  • userdata。 設置包含運行測試套件所需的用戶數據信息的文件。只有在測試套件userdataRequiredsuite.json文件中設置為 true 時,才需要這樣做。

如需 run-suite 選項的詳細資訊,請使用下列 help 選項:

devicetester_[linux | mac | win_x86-64] run-suite -h
debug-test-suite

在調試模式下運行測試套件。如需詳細資訊,請參閱 在除錯模式下執行 IDT