Öncelikle Tradefed'deki Seçenek İşleme'yi anladığınızdan emin olun.
Paket kurulumu, paket yapısında bulunan iki katmanı açıklar:
- Üst düzey paket
- Modüller
Suite dışı bir Tradefed bağlamında bu konuda düşünmenize gerek yoktur. Her seçenek tam çağrıya gider. Bir paketteki modüller paketten ayrı tutulur. Bu nedenle, tüm seçenekler bu modüllerin düzeyinde kullanılamaz.
Seçenekleri üst düzey pakete iletme
Üst düzey paket, standart Tradefed yapılandırması gibi davranır: Paket çalıştırıcıyı içeren tam yapılandırma, paket dışı Tradefed yapılandırması gibi tüm seçenekleri alır.
Modüllere seçenekler iletme
Modüller varsayılan olarak komuta iletilen seçeneklerin hiçbirini almaz.
Seçenekleri module-arg
seçeneği üzerinden alabilmek için açıkça hedeflenmeleri gerekir. Modül seçeneklerinin bu şekilde ayrılması, 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öz dizimi, hedeflenen modülün belirtilen seçeneği almasını sağlar.
Modüllere seçenek iletmek için test-arg
gibi ek yöntemler vardır. Bu yöntemler, çalıştırıcı türüne veya sınıfına göre her modülün test çalıştırıcısına seçenek 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öz dizimi belirli bir modülü değil, verilen sınıfın tüm test çalıştırıcılarını hedefler. test-arg
, seçeneklerin olası alıcısı olarak yalnızca IRemoteTest uygulamalarını dikkate alır.
java_test_host'taki Java test sınıfına seçenekleri iletme
java_test_host derleme hedefinin bir parçası olarak Java test sınıfınıza @Option
ekliyorsanız bu seçeneği yerleştirmek için aşağıdakileri kullanmanız gerekir:
cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>
Bu bağlamdaki set-option, Java sınıflarınızı yürütmek için sarmalayan test düzeneğindeki HostTest çalıştırıcısının seçeneğidir.
Seçenekler için hedeflediğiniz JAR dosyanız birden fazla test sınıfı içeriyorsa varsayılan olarak hepsinde @option belirtilmesi veya tek bir sınıfı hedeflemek için aşağıdaki söz diziminin kullanılması gerekir:
cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>
Pakete filtreler iletme
Bir paketteki bazı testleri filtrelemek için sırasıyla belirli bir testi veya modülü zorunlu olarak dahil etmek ya da hariç tutmak için --include-filter
ve --exclude-filter
kullanırız. Hariç tutma önceliklidir.
Bu 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