Seçenekleri ve filtreleri pakete ve modüllere iletme

Ö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