Öncelikle, Tradefed'de Opsiyon İşlemlerini anladığınızdan emin olun.
Paket kurulumu, süit yapısında bulunan iki katmanı açıklar:
- En üst düzey süit
- modüller
Paket olmayan bir Tradefed bağlamında, bunun hakkında düşünmeye gerek yoktur; her seçenek tam çağrıya gider. Paket bağlamında, modüller paketten ayrı tutulur; bu nedenle, tüm seçenekler kendi düzeylerinde mevcut değildir.
Seçenekleri en üst düzey süite iletin
En üst düzey paket, standart Tradefed yapılandırması gibi davranır: paket çalıştırıcı dahil tam yapılandırma, paket olmayan bir Tradefed yapılandırması gibi tüm seçenekleri alır.
Seçenekleri modüllere geçirme
Varsayılan olarak modüller, 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.
Seçenekleri modüllere aktarmanın test-arg
gibi ek yolları vardır; bu, seçenekleri çalıştırıcı türüne veya sınıfına göre her bir modülün test çalıştırıcısına iletmenize olanak tanır.
Ö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 yürütücülerini hedefler. test-arg
seçeneklerin potansiyel alıcısı olarak yalnızca IRemoteTest uygulamalarını dikkate alır.
Seçenekleri bir java_test_host'ta bir Java test sınıfına geçirin
Java test sınıfınıza Java_test_host oluşturma hedefinin bir 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 koşumundan HostTest çalıştırıcısının seçeneğidir.
seçenekler için jar dosyası hedefiniz birden çok test sınıfı içeriyorsa, varsayılan olarak hepsinin @option'ı belirtmesi 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 iletin
Bir paketten bazı testleri filtrelemek için, sırasıyla belirli bir testi veya modülü içermeye veya hariç tutmaya zorlamak için --include-filter
ve --exclude-filter
kullanırız. Hariç tutma önceliğe sahiptir.
Şu biçimi 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