Paket yeniden denemesini kullan

Bir paket, birkaç test modülü içerir ve oldukça geniş bir kitleye ulaşabilir yardımcı olabilir. Örneğin, Android Compatibility Test Suite (CTS) yüzlerce modül ve yüz binlerce test durumu içerir.

Kötü izolasyon nedeniyle çok sayıda test başarısız olabilir. veya cihazlar kötü bir durumda kalacak.

Paket yeniden deneme özelliğinin amacı bu durumları ele almaktır: Yeniden deneme özelliğini devre dışı bırakmak amacıyla tüm paketlerin hepsi yerine izolasyondur. Bir test sürekli olarak başarısız oluyorsa yeniden deneme de başarısız olur; ve gerçekten bir sorun olduğuna dair daha güçlü bir sinyal alırsınız.

Paketin yeniden denemesini uygulayın

Sonuçların yeniden denenmesi, önceki sonuçları okumayı ve önceki çağrı.

Yeniden deneme sağlayan ana arayüz ITestSuiteResultLoader, önceki bir sonucu ve önceki komut satırını yüklemenize olanak tanır.

RetryRescheduler daha sonra bu bilgileri kullanarak önceki komutu yeniden oluşturur ve yeniden çalıştırmak için filtreleri kullanın.

Örnek paket yeniden denemesi: CTS

CTS'deki yeniden deneme yapılandırması şu şekildedir:

<configuration description="Runs a retry of a previous CTS session.">
    <object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
    <test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />

    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="WARN" />
    </logger>
</configuration>

Bu, sınırı artıran süitlerin çoğu için geçerlidir. Örneğin, VTS değerleridir.

Şunlarla çağrılır:

cts-tradefed run retry --retry <session>

Oturum, önceki sonuçlar CTS konsolunda listelenerek bulunabilir:

cts-tf > l r
Session  Pass  Fail  Modules Complete  Result Directory     Test Plan  Device serial(s)  Build ID   Product
0        2092  30    148 of 999        2018.10.29_14.12.57  cts        [serial]          P          Pixel

Tam orijinal komut yeniden yüklenir ve ekstra filtrelerle yeniden çalıştırılır. Bu orijinal komutunuzda bazı seçenekler varsa bu seçenekler de bir kısmı devre dışı bırakılır.

Örnek:

cts-tradefed run cts-dev -m CtsGestureTestCases

Yukarıdakilerin yeniden denenmesi her zaman CtsGestureTestCases adresine bağlıdır çünkü yalnızca onu içeren bir komutu yeniden deniyoruz.

CTS stili paket için yeniden denemeyi yapılandırma

Yeniden denemenin çalışması için önceki sonuçların proto biçimindedir. Aşağıdakilerin eklenmesi gerekir:

<result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />

Bunun, ana komutun XML yapılandırmasına eklenmesi gerekir ve sonuç klasöründe bir test-record.pb dosyası oluşturulmasına neden olur.

CTS yeniden denemesi daha sonra test-record.pb ve yeniden deneme çağrısını hazırlamak için mevcut test_result.xml.