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