Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Usa Suite Riprova

Una suite tende a includere diversi moduli di test e può raggiungere dimensioni corpus di prova piuttosto grandi. Ad esempio, Android Compatibility Test Suite (CTS) include centinaia di moduli e centinaia di migliaia di casi di test.

È possibile che un gran numero di test fallisca a causa del cattivo isolamento o dei dispositivi che vanno in cattivo stato.

La funzione di nuovo tentativo della suite è pensata per risolvere questi casi: consente di riprovare i guasti solo al posto della suite completa per escludere la sfaldatezza e il cattivo isolamento. Se un test fallisce costantemente, anche il tentativo fallirà; e ricevi un segnale molto più forte che c'è un vero problema.

Implementare nuovamente la suite

Il nuovo tentativo di risultati comporta la lettura dei risultati precedenti e la riesecuzione della chiamata precedente.

L'interfaccia principale che guida il nuovo tentativo è ITestSuiteResultLoader , che consente di caricare un risultato precedente e la riga di comando precedente.

RetryRescheduler utilizza quindi queste informazioni per ricreare il comando precedente e popolare alcuni filtri al fine di rieseguire solo gli errori precedenti o i test non eseguiti.

Esempio di nuovo tentativo di suite: CTS

La configurazione dei tentativi in ​​CTS è:

 <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>
 

Questo è applicabile alla maggior parte delle suite che lo estendono, ad esempio VTS ).

Sarebbe invocato tramite:

 cts-tradefed run retry --retry <session>
 

La sessione verrà trovata elencando i risultati precedenti nella console CTS:

 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
 

L'esatto comando originale verrà ricaricato e rieseguito con filtri aggiuntivi. Ciò significa che se il comando originale includesse alcune opzioni, faranno anche parte del nuovo tentativo.

Per esempio:

 cts-tradefed run cts-dev -m CtsGestureTestCases
 

Il nuovo tentativo di cui sopra sarebbe sempre limitato a CtsGestureTestCases poiché stiamo riprovando un comando che ha coinvolto solo esso.

Configurare un nuovo tentativo per la suite in stile CTS

Affinché il nuovo tentativo funzioni, i risultati precedenti devono essere esportati in formato proto. È necessario aggiungere quanto segue:

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

Questo deve essere aggiunto alla configurazione XML del comando principale e risulterà nella test-record.pb file test-record.pb nella cartella dei risultati.

Il nuovo tentativo CTS carica quindi i dati da una combinazione di test-record.pb e del test_result.xml esistente per preparare la test_result.xml di nuovo tentativo.