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 olmayan bir Tradefed bağlamında bunu 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 modül 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 olmayan bir Tradefed yapılandırması gibi tüm seçenekleri alır.

Modüllere seçenekler iletme

Modüller, 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 verilen seçeneği almasını sağlar.

Seçenekleri modüllere aktarmanın başka yolları da vardır. Örneğin, test-arg, çalıştırıcı türüne veya sınıfına göre seçenekleri her modülün test çalıştırıcısına aktarmanıza 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ıları olarak yalnızca IRemoteTest (belgeler, kaynak kodu) veya ITargetPreparer (belgeler, kaynak kodu) uygulamalarını değerlendirir.

java_test_host'taki bir Java test sınıfına seçenekler 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 jar dosyası hedefiniz 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 --include-filter ve --exclude-filter kullanarak belirli bir testi veya modülü sırasıyla zorunlu olarak dahil eder ya da hariç tutarı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