Bugreport Collector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


Un pass-through ITestInvocationListener che raccoglie le segnalazioni di bug quando si verificano eventi configurabili e quindi chiama ITestInvocationListener#testLog sui relativi figli dopo la raccolta di ogni segnalazione di bug.

Comportamenti: (FIXME: finiscilo)

  • Cattura dopo ogni caso di test fallito
  • Cattura dopo ogni testcase
  • Cattura dopo ogni caso di test 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 viene attivato all'inizio della prima chiamata

Costruttori pubblici

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

Metodi pubblici

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

Blocca fino a quando il raccoglitore non raccoglie alcuna segnalazione di bug.

TestSummary getSummary ()

Consente a InvocationListener di restituire un riepilogo.

void invocationEnded (long elapsedTime)

Segnala che la chiamata è stata terminata, con successo oa causa di qualche condizione di errore.

void invocationFailed (Throwable cause)

Segnala una chiamata incompleta a causa di una condizione di errore.

void invocationStarted ( IInvocationContext context)

Segnala l'inizio della chiamata di test.

void setAsynchronous (boolean asynchronous)

Imposta se la raccolta bugreport deve raccogliere il bugreport in un thread diverso ( asynchronous = true ) o bloccare il chiamante fino a quando il bugreport non viene catturato ( 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 che 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)

Segnala 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 i dati di log o debug associati dalla chiamata di test.

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

Segnala la fine dell'esecuzione del test.

void testRunFailed (String errorMessage)

L'esecuzione del test dei rapporti non è riuscita a essere completata 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'interruzione dell'esecuzione del test prima del completamento a causa di una richiesta dell'utente.

void testStarted ( TestDescription test)

Segnala l'inizio di un singolo test case.

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 viene attivato all'inizio della prima chiamata

Costruttori pubblici

Bugreport Collector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parametri
listener ITestInvocationListener

testDevice ITestDevice

Metodi pubblici

addPredicato

public void addPredicate (BugreportCollector.Predicate p)

Parametri
p BugreportCollector.Predicate

blockFino a Idle

public void blockUntilIdle ()

Blocca fino a quando il raccoglitore non raccoglie alcuna segnalazione di bug. Se il raccoglitore non sta attivamente raccogliendo un bugreport, ritorna immediatamente

getSummary

public TestSummary getSummary ()

Consente a InvocationListener di restituire un riepilogo.

ritorna
TestSummary Un TestSummary che riepiloga l'esecuzione o null

invocazioneEnded

public void invocationEnded (long elapsedTime)

Segnala che la chiamata è stata terminata, con successo oa causa di qualche condizione di errore.

Verrà richiamato automaticamente dal framework TradeFederation.

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

invocazione non riuscita

public void invocationFailed (Throwable cause)

Segnala una chiamata incompleta a causa di una condizione di errore.

Verrà richiamato automaticamente dal framework TradeFederation.

Parametri
cause Throwable : la causa ERROR(/Throwable) dell'errore

invocazioneAvviato

public void invocationStarted (IInvocationContext context)

Segnala l'inizio della chiamata di test.

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

Parametri
context IInvocationContext : informazioni sulla chiamata

setAsincrono

public void setAsynchronous (boolean asynchronous)

Imposta se la raccolta bugreport deve raccogliere il bugreport in un thread diverso ( asynchronous = true ) o bloccare il chiamante fino a quando il bugreport non viene catturato ( 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 eseguirà il fallback 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 che il dispositivo sia online prima di tentare di acquisire una segnalazione di bug. Se negativo, non verrà eseguito alcun controllo. Qualsiasi DeviceNotAvailableException rilevata durante questo controllo verrà registrata e ignorata.

Parametri
waitTime int

testAssumptionFailure

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 dell'errore

testTerminato

public void testEnded (TestDescription test, 
                 testMetrics)

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

Se testFailed(TestDescription, FailureDescription) non è stato richiamato, questo test ha avuto esito positivo. Restituisce anche qualsiasi metrica chiave/valore che potrebbe essere stata emessa durante l'esecuzione del caso di test.

Parametri
test TestDescription : identifica il test

testMetrics : un ERROR(/Map) delle metriche emesse

testFailed

public void testFailed (TestDescription test, 
                String trace)

Segnala il fallimento di un singolo test case.

Verrà chiamato tra testStarted e testEnded.

Parametri
test TestDescription : identifica il test

trace String : traccia dello stack dell'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 i dati di log o debug associati dalla chiamata di 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 : un ERROR(/String) nome descrittivo dei dati. ad esempio "device_logcat". Nota dataName potrebbe non essere univoco per chiamata. cioè gli implementatori devono essere in grado di gestire più chiamate con lo stesso dataName

dataType LogDataType : il LogDataType dei dati

dataStream InputStreamSource : InputStreamSource dei dati. Gli implementatori dovrebbero chiamare createInputStream per iniziare a leggere i dati e assicurarsi di chiudere l'InputStream risultante al termine. I chiamanti devono assicurarsi 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 : tempo trascorso segnalato dal dispositivo, in millisecondi

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

testRunFailed

public void testRunFailed (String errorMessage)

L'esecuzione del test dei report non è riuscita a essere completata a causa di un errore irreversibile.

Parametri
errorMessage String : ERROR(/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'interruzione dell'esecuzione del test prima del completamento a causa di una richiesta dell'utente.

TODO: attualmente inutilizzato, prendere in considerazione la rimozione

Parametri
elapsedTime long : tempo trascorso segnalato dal dispositivo, in millisecondi

testAvviato

public void testStarted (TestDescription test)

Segnala l'inizio di un singolo test case. Interfaccia precedente, dovrebbe usare testStarted(com.android.tradefed.result.TestDescription) quando possibile.

Parametri
test TestDescription : identifica il test