İ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