Paket ve modüllere seçenekleri ve filtreleri iletin

Ö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