Paket ve modüllere seçenekleri ve filtreleri iletin

İlk olarak, Tradefed'de Opsiyon İşleme'yi anladığınızdan emin olun.

Süit kurulumu , süit yapısında bulunan iki katmanı açıklar:

  • Üst düzey süit
  • modüller

Paket dışı bir Tradefed bağlamında, bunun hakkında düşünmeye gerek yoktur; her seçenek tam çağrıya gider. Bir süit bağlamında, modüller süitten ayrı tutulur; bu nedenle tüm seçenekler kendi seviyelerinde mevcut değildir.

Seçenekleri en üst düzey süite iletin

En üst düzey süit, standart Tradefed konfigürasyonu gibi davranır: süit koşucusu dahil tam konfigürasyon, süit dışı bir Tradefed konfigürasyonu gibi tüm seçenekleri alır.

Modüllere geçiş seçenekleri

Modüller varsayılan olarak komuta iletilen seçeneklerin hiçbirini almaz . module-arg seçeneği aracılığıyla seçenekleri almak için açıkça hedeflenmeleri gerekir. Modül seçeneklerinin bu izolasyonu, hata ayıklamayı kolaylaştırır.

Örnek:

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

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

Sözdizimi, hedeflenen modülün verilen seçeneği almasını sağlar.

Modüllere seçenekleri iletmenin ek yolları vardır, örneğin test-arg , koşucu tipine veya sınıfına göre her modülün test çalıştırıcısına seçenekler iletmenize izin verir.

Örnek:

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

Sözdizimi belirli bir modülü değil, verilen sınıfın tüm test çalıştırıcılarını hedef alır. test-arg , seçeneklerin potansiyel alıcısı olarak yalnızca IRemoteTest uygulamalarını dikkate alır.

Bir java_test_host'ta bir java test sınıfına geçme seçeneği

Java test sınıfınıza bir java_test_host derleme hedefinin parçası olarak bir @Option ekliyorsanız, bu seçeneği enjekte etmek için aşağıdakileri kullanmanız gerekir:

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

set-option bu bağlamda, Java sınıflarınızı yürütmek için saran test kablo demetinden HostTest çalıştırıcısının seçeneğidir.

seçenekler için jar dosya hedefiniz birden çok test sınıfı içeriyorsa, varsayılan olarak hepsinin @option belirtilmiş olması veya tek bir sınıfı hedeflemek için aşağıdaki sözdizimini kullanması beklenir:

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

Filtreleri süite geçirin

Bir takımdan bazı testleri filtrelemek için --include-filter ve --exclude-filter kullanarak belirli bir testi veya modülü dahil etmeye veya hariç tutmaya zorlamak için sırasıyla kullanırız. Dışlama önceliğe sahiptir.

Bu formatı kullanırlar: [abi] <module-name> [test name]

Örnekler:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

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