Opcje przekazywania i filtry do pakietu i modułów

Najpierw upewnij się, że rozumiesz obsługę opcji w ramach Tradefed.

Konfiguracja pakietu opisuje dwie warstwy istniejące w struktura apartamentu:

  • Apartament najwyższego poziomu
  • Moduły

W kontekście innej platformy nie trzeba się nad tym zastanawiać. co powoduje przejście do pełnego wywołania. W kontekście pakietu są zachowywane moduły odizolowany od pakietu; więc nie wszystkie opcje są dostępne na danym poziomie.

Przepustki do apartamentu najwyższego poziomu

Pakiet najwyższego poziomu działa jak standardowa konfiguracja Tradefed: pełna konfiguracja w tym uruchomienie pakietu, otrzymuje wszystkie opcje, takie jak Nie jest to pakiet biurowy.

Przekazywanie opcji do modułów

Domyślnie moduły nie otrzymują opcji przekazanych do polecenia. Aby uzyskać dostęp do opcji za pomocą Opcja: module-arg. Izolacja opcji modułów utrudnia debugowanie. .

Przykład:

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

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

Składnia gwarantuje, że moduł docelowy otrzyma określoną opcję.

Istnieją dodatkowe sposoby przekazywania opcji do modułów, takich jak test-arg, pozwala przekazać opcje wykonawcy testującemu każdy moduł na podstawie typ lub klasę.

Przykład:

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

Składnia nie jest kierowana na konkretny moduł, ale na wszystkich uczestników testu danej klasy. test-arg uwzględnia tylko implementacje: Test IRemoteTest jako potencjalnego odbiorcy opcji.

Przekazuj opcje do klasy testowej Java w java_test_host

Jeśli dodajesz obiekt @Option do klasy testowej Java w ramach Cel kompilacji java_test_host, do wstrzykiwania użyj poniższego polecenia opcja:

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

Parametr set-option w tym kontekście to opcja uruchamiania testu HostTest z jarzma testowego. który pakuje klasy Java w celu ich wykonania.

jeśli docelowy plik jar opcji zawiera wiele klas testowych, domyślnie wszystkie muszą mieć określony parametr @option lub używać parametru tę składnię, aby wskazać pojedynczą klasę:

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

Przekazywanie filtrów do pakietu

Aby odfiltrować niektóre testy z pakietu, używamy parametrów --include-filter oraz --exclude-filter odpowiednio do uwzględnienia lub wykluczenia określonego testu lub moduł. Wykluczenie ma priorytet.

Mają taki format: [abi] <module-name> [test name]

Przykłady:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

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