將選項和過濾器傳遞給套件和模組,將選項和過濾器傳遞給套件和模組

首先,確保您了解 Tradefed 中的選擇權處理

套件設定描述了套件結構中存在的兩層:

  • 頂層套房
  • 模組

在非套件 Tradefed 環境中,無需考慮它;每個選項都會被完整地呼叫。在套件環境中,模組與套件保持隔離;因此,並非所有選項都在其層級上可用。

將選項傳遞給頂層套件

頂級套件的行​​為類似於標準 Tradefed 配置:包括套件運行程序的完整配置接收所有選項,就像非套件 Tradefed 配置一樣。

將選項傳遞給模組

預設情況下,模組不會接收傳遞給命令的任何選項。它們需要明確定位才能透過module-arg選項接收選項。這種模組選項的隔離使得調試更加容易。

例子:

cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>

cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true

此語法確保目標模組將收到給定的選項。

還有其他方法可以將選項傳遞給模組,例如test-arg ,它允許您根據運行程式類型或類別將選項傳遞給每個模組的測試運行程式。

例子:

cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>

cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true

該語法不針對特定模組,而是針對給定類別的所有測試運行程式。 test-arg僅考慮IRemoteTest的實作作為選項的潛在接收者。

將選項傳遞給 java_test_host 中的 Java 測試類

如果您將@Option新增至 java 測試類別作為 java_test_host 建置目標的一部分,您將需要使用以下命令來注入該選項:

cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>

此上下文中的set-option是來自測試工具的 HostTest 運行程序的選項,該測試工具包裝了您的 java 類別以執行它們。

如果選項的 jar 檔案目標包含多個測試類,預設情況下,它們都應該指定 @option 或使用下列語法來定位單一類別:

cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>

將過濾器傳送到套件

為了從套件中過濾一些測試,我們使用--include-filter--exclude-filter分別強制包含或排除特定的測試或模組。排除優先。

他們使用以下格式: [abi] <module-name> [test name]

例子:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes
,

首先,確保您了解 Tradefed 中的選擇權處理

套件設定描述了套件結構中存在的兩層:

  • 頂層套房
  • 模組

在非套件 Tradefed 環境中,無需考慮它;每個選項都會被完整地呼叫。在套件環境中,模組與套件保持隔離;因此,並非所有選項都在其層級上可用。

將選項傳遞給頂層套件

頂級套件的行​​為類似於標準 Tradefed 配置:包括套件運行程序的完整配置接收所有選項,就像非套件 Tradefed 配置一樣。

將選項傳遞給模組

預設情況下,模組不會接收傳遞給命令的任何選項。它們需要明確定位才能透過module-arg選項接收選項。這種模組選項的隔離使得調試更加容易。

例子:

cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>

cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true

此語法確保目標模組將收到給定的選項。

還有其他方法可以將選項傳遞給模組,例如test-arg ,它允許您根據運行程式類型或類別將選項傳遞給每個模組的測試運行程式。

例子:

cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>

cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true

該語法不針對特定模組,而是針對給定類別的所有測試運行程式。 test-arg僅考慮IRemoteTest的實作作為選項的潛在接收者。

將選項傳遞給 java_test_host 中的 Java 測試類

如果您將@Option新增至 java 測試類別作為 java_test_host 建置目標的一部分,您將需要使用以下命令來注入該選項:

cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>

此上下文中的set-option是來自測試工具的 HostTest 運行程序的選項,該測試工具包裝了您的 java 類別以執行它們。

如果選項的 jar 檔案目標包含多個測試類,預設情況下,它們都應該指定 @option 或使用下列語法來定位單一類別:

cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>

將過濾器傳送到套件

為了從套件中過濾一些測試,我們使用--include-filter--exclude-filter分別強制包含或排除特定的測試或模組。排除優先。

他們使用以下格式: [abi] <module-name> [test name]

例子:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes