BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
com.android.tradefed.result.BugreportCollector


Un ITestInvocationListener pass-through che raccoglie segnalazioni di bug quando si verificano eventi configurabili e quindi richiama ITestInvocationListener#testLog sui relativi elementi secondari dopo la raccolta di ciascuna segnalazione di bug.

Comportamenti: (FIXME: finisci questo)

  • Cattura dopo ciascuno se qualche test ha fallito
  • Cattura dopo ogni caso di prova
  • Cattura dopo ogni test case fallito
  • Catturare

Riepilogo

Classi nidificate

class BugreportCollector.Predicate

Un predicato completo che descrive quando acquisire una segnalazione di bug.

interface BugreportCollector.SubPredicate

Campi

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Un predicato predefinito che si attiva dopo ogni testcase fallito

public static final BugreportCollector.Predicate AT_START

Un predicato predefinito che si attiva all'inizio della prima invocazione

Costruttori pubblici

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

Metodi pubblici

void addPredicate ( BugreportCollector.Predicate p)
void blockUntilIdle ()

Blocca finché il raccoglitore non raccoglie più segnalazioni di bug.

TestSummary getSummary ()

Consente a InvocationListener di restituire un riepilogo.

void invocationEnded (long elapsedTime)

Segnala che l'invocazione è terminata, con successo o a causa di qualche condizione di errore.

void invocationFailed (Throwable cause)

Segnala un'invocazione incompleta a causa di qualche condizione di errore.

void invocationStarted ( IInvocationContext context)

Riporta l'inizio dell'invocazione del test.

void setAsynchronous (boolean asynchronous)

Imposta se la raccolta delle segnalazioni di bug deve raccogliere la segnalazione di bug in un thread diverso ( asynchronous = true ) o bloccare il chiamante finché la segnalazione di bug non viene catturata ( asynchronous = false ).

void setDescriptiveName (String name)

Imposta il nome descrittivo da utilizzare durante la registrazione delle segnalazioni di bug.

void setDeviceWaitTime (int waitTime)

Imposta il tempo (in secondi) di attesa affinché il dispositivo sia online prima di tentare di acquisire una segnalazione di bug.

void testAssumptionFailure ( TestDescription test, String trace)

Chiamato quando un test atomico segnala che presuppone una condizione falsa

void testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics)

Riporta la fine dell'esecuzione di un singolo test case.

void testFailed ( TestDescription test, String trace)

Riporta il fallimento di un singolo test case.

void testIgnored ( TestDescription test)

Chiamato quando un test non verrà eseguito, generalmente perché un metodo di test è annotato con org.junit.Ignore.

void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)

Fornisce il log associato o i dati di debug dalla chiamata del test.

void testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics)

Segnala la fine dell'esecuzione del test.

void testRunFailed (String errorMessage)

Impossibile completare l'esecuzione del test dei report a causa di un errore irreversibile.

void testRunStarted (String runName, int testCount)

Segnala l'inizio di un'esecuzione di prova.

void testRunStopped (long elapsedTime)

Segnala l'esecuzione del test interrotta prima del completamento a causa di una richiesta dell'utente.

void testStarted ( TestDescription test)

Riporta l'inizio di un singolo caso di test.

Campi

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Un predicato predefinito che si attiva dopo ogni testcase fallito

AT_START

public static final BugreportCollector.Predicate AT_START

Un predicato predefinito che si attiva all'inizio della prima invocazione

Costruttori pubblici

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parametri
listener ITestInvocationListener

testDevice ITestDevice

Metodi pubblici

aggiungiPredicato

public void addPredicate (BugreportCollector.Predicate p)

Parametri
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Blocca finché il raccoglitore non raccoglie più segnalazioni di bug. Se il raccoglitore non sta raccogliendo attivamente una segnalazione di bug, ritorna immediatamente

getSummary

public TestSummary getSummary ()

Consente a InvocationListener di restituire un riepilogo.

ritorna
TestSummary Oggetto TestSummary che riepiloga l'esecuzione oppure null

invocationEnded

public void invocationEnded (long elapsedTime)

Segnala che l'invocazione è terminata, con successo o a causa di qualche condizione di errore.

Verrà chiamato automaticamente dal framework TradeFederation.

Parametri
elapsedTime long : il tempo trascorso dell'invocazione in ms

invocazioneFailed

public void invocationFailed (Throwable cause)

Segnala un'invocazione incompleta a causa di qualche condizione di errore.

Verrà chiamato automaticamente dal framework TradeFederation.

Parametri
cause Throwable : la causa Throwable del fallimento

invocationStarted

public void invocationStarted (IInvocationContext context)

Riporta l'inizio dell'invocazione del test.

Verrà chiamato automaticamente dal framework TradeFederation. I reporter devono sovrascrivere questo metodo per supportare la segnalazione di più dispositivi.

Parametri
context IInvocationContext : informazioni sull'invocazione

setAsincrono

public void setAsynchronous (boolean asynchronous)

Imposta se la raccolta delle segnalazioni di bug deve raccogliere la segnalazione di bug in un thread diverso ( asynchronous = true ) o bloccare il chiamante finché la segnalazione di bug non viene catturata ( asynchronous = false ).

Parametri
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Imposta il nome descrittivo da utilizzare durante la registrazione delle segnalazioni di bug. Se null , BugreportCollector tornerà al comportamento predefinito di serializzare il nome dell'evento che ha causato la raccolta del bugreport.

Parametri
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Imposta il tempo (in secondi) di attesa affinché il dispositivo sia online prima di tentare di acquisire una segnalazione di bug. In caso negativo non verrà effettuato alcun controllo. Qualsiasi DeviceNotAvailableException riscontrata durante questo controllo verrà registrata e ignorata.

Parametri
waitTime int

testAssunzioneFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Chiamato quando un test atomico segnala che presuppone una condizione falsa

Parametri
test TestDescription : identifica il test

trace String : traccia dello stack di errore

testEnded

public void testEnded (TestDescription test, 
                 testMetrics)

Riporta la fine dell'esecuzione di un singolo test case.

Se testFailed(TestDescription, FailureDescription) non è stato richiamato, il test è stato superato. Restituisce inoltre qualsiasi metrica chiave/valore che potrebbe essere stata emessa durante l'esecuzione del test case.

Parametri
test TestDescription : identifica il test

testMetrics : un ERROR(/Map) delle metriche emesse

prova non riuscita

public void testFailed (TestDescription test, 
                String trace)

Riporta il fallimento di un singolo test case.

Verrà chiamato tra testStarted e testEnded.

Parametri
test TestDescription : identifica il test

trace String : traccia dello stack di errore

testIgnorato

public void testIgnored (TestDescription test)

Chiamato quando un test non verrà eseguito, generalmente perché un metodo di test è annotato con org.junit.Ignore.

Parametri
test TestDescription : identifica il test

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Fornisce il log associato o i dati di debug dalla chiamata del test.

Deve essere chiamato prima di ERROR(/ITestInvocationListener#invocationFailed(Throwable)) o ERROR(/ITestInvocationListener#invocationEnded(long))

Il framework TradeFederation chiamerà automaticamente questo metodo, fornendo il log dell'host e, se applicabile, il logcat del dispositivo.

Parametri
dataName String : una String nome descrittivo dei dati. ad esempio "device_logcat". Nota dataName potrebbe non essere univoco per invocazione. cioè gli implementatori devono essere in grado di gestire più chiamate con lo stesso dataName

dataType LogDataType : il LogDataType dei dati

dataStream InputStreamSource : l' InputStreamSource dei dati. Gli implementatori dovrebbero chiamare createInputStream per iniziare a leggere i dati e assicurarsi di chiudere l'InputStream risultante una volta completato. I chiamanti devono garantire che l'origine dei dati rimanga presente e accessibile fino al completamento del metodo testLog.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Segnala la fine dell'esecuzione del test. FIXME: Non possiamo avere due interfacce Map<> con tipo diverso, quindi dobbiamo usare HashMap qui.

Parametri
elapsedTime long : il dispositivo ha riportato il tempo trascorso, in millisecondi

runMetrics : coppie chiave-valore riportate al termine di un'esecuzione di test con Metric .

testRunFailed

public void testRunFailed (String errorMessage)

Impossibile completare l'esecuzione del test dei report a causa di un errore irreversibile.

Parametri
errorMessage String : String che descrive il motivo dell'errore di esecuzione.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Segnala l'inizio di un'esecuzione di prova.

Parametri
runName String : il nome dell'esecuzione del test

testCount int : numero totale di test nell'esecuzione del test

testRunStopped

public void testRunStopped (long elapsedTime)

Segnala l'esecuzione del test interrotta prima del completamento a causa di una richiesta dell'utente.

TODO: attualmente inutilizzato, valuta la possibilità di rimuoverlo

Parametri
elapsedTime long : il dispositivo ha riportato il tempo trascorso, in millisecondi

testAvviato

public void testStarted (TestDescription test)

Riporta l'inizio di un singolo caso di test. L'interfaccia precedente dovrebbe utilizzare testStarted(com.android.tradefed.result.TestDescription) quando possibile.

Parametri
test TestDescription : identifica il test