BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


Un ITestInvocationListener passthrough che raccoglie segnalazioni di bug quando si verificano eventi configurabili e quindi chiama ITestInvocationListener#testLog sui relativi elementi secondari dopo aver raccolto ogni segnalazione di bug.

Comportamenti: (FIXME: termina questa procedura)

  • Acquisisci dopo ogni test se uno o più casi di test non sono riusciti
  • Acquisisci dopo ogni test case
  • Acquisisci dopo ogni test case non riuscito
  • Acquisisci

Riepilogo

Classi nidificate

class BugreportCollector.Predicate

Un predicato completo che descrive quando acquisire un report di bug. 

interface BugreportCollector.SubPredicate

 

Campi

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Un predicato predefinito che si attiva dopo ogni scenario di test non riuscito

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 più segnalazioni di bug.

TestSummary getSummary()

Consente a InvocationListener di restituire un riepilogo.

void invocationEnded(long elapsedTime)

Segnala che l'invocazione è terminata, correttamente o a causa di una condizione di errore.

void invocationFailed(Throwable cause)

Segnala un'invocazione 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 di report 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 acquisita (asynchronous = false).

void setDescriptiveName(String name)

Imposta il nome descrittivo da utilizzare per registrare i report di bug.

void setDeviceWaitTime(int waitTime)

Imposta il tempo (in secondi) di attesa che il dispositivo sia online prima che proviamo ad acquisire una segnalazione di bug.

void testAssumptionFailure(TestDescription test, String trace)

Viene chiamato quando un test atomico segnala che presuppone una condizione falsa

void testEnded(TestDescription test, testMetrics)

Segnala il termine dell'esecuzione di un singolo test case.

void testFailed(TestDescription test, String trace)

Segnala l'errore di un singolo test case.

void testIgnored(TestDescription test)

Viene chiamato quando un test non verrà eseguito, in genere perché un metodo di test è annotato con org.junit.Ignore.

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

Fornisce i dati di log o di debug associati dall'invocazione del test.

void testRunEnded(long elapsedTime, runMetrics)

Segnala la fine dell'esecuzione del test.

void testRunFailed(String errorMessage)

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

void testRunStarted(String runName, int testCount)

Segnala l'inizio di un'esecuzione del test.

void testRunStopped(long elapsedTime)

L'esecuzione del test dei report è stata interrotta prima del completamento a causa di una richiesta dell'utente.

void testStarted(TestDescription test)

Segnala l'inizio di un singolo scenario di test.

Campi

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Un predicato predefinito che viene attivato dopo ogni test case non riuscito

AT_START

public static final BugreportCollector.Predicate AT_START

Un predicato predefinito che viene attivato all'inizio della prima chiamata

Costruttori pubblici

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parametri
listener ITestInvocationListener

testDevice ITestDevice

Metodi pubblici

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Parametri
p BugreportCollector.Predicate

BloccaUntilIdle

public void blockUntilIdle ()

Blocca fino a quando il raccoglitore non raccoglie più segnalazioni di bug. Se il raccoglitore non sta raccogliendo attivamente una segnalazione di bug, torna immediatamente

getSummary

public TestSummary getSummary ()

Consente a InvocationListener di restituire un riepilogo.

Ritorni
TestSummary Un TestSummary che riassume l'esecuzione o null

chiamata terminata

public void invocationEnded (long elapsedTime)

Segnala che l'invocazione è terminata, correttamente o a causa di una condizione di errore.

Verrà chiamato automaticamente dal framework TradeFederation.

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

invocationFailed

public void invocationFailed (Throwable cause)

Segnala una chiamata incompleta a causa di alcune condizioni di errore.

Verrà chiamato automaticamente dal framework TradeFederation.

Parametri
cause Throwable: la causa Throwable dell'errore

invocationStarted

public void invocationStarted (IInvocationContext context)

Segnala l'inizio dell'invocazione del test.

Verrà chiamato automaticamente dal framework TradeFederation. I reporter devono eseguire l'override di questo metodo per supportare i report su più dispositivi.

Parametri
context IInvocationContext: informazioni sull'invocazione

impostaAsynchronous

public void setAsynchronous (boolean asynchronous)

Imposta se la raccolta della segnalazione bug deve essere eseguita in un thread diverso (asynchronous = true) o se il chiamante deve essere bloccato finché la segnalazione bug non viene acquisita (asynchronous = false).

Parametri
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Imposta il nome descrittivo da utilizzare per registrare i report di bug. Se null, BugreportCollector tornerà al comportamento predefinito di serializzazione del nome dell'evento che ha causato la raccolta del report di bug.

Parametri
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Imposta il tempo (in secondi) di attesa prima che il dispositivo sia online prima di provare a acquisire un report di bug. Se è negativo, non verrà eseguito alcun controllo. Tutti gli elementi DeviceNotAvailableException riscontrati durante questo controllo verranno registrati e ignorati.

Parametri
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Richiamato quando un test atomico segnala che assume una condizione falsa

Parametri
test TestDescription: identifica il test

trace String: analisi dello stack dell'errore

testEnded

public void testEnded (TestDescription test, 
                 testMetrics)

Segnala il termine dell'esecuzione di un singolo test case.

Se testFailed(TestDescription, FailureDescription) non è stato invocato, questo test è stato superato. Restituisce anche eventuali metriche chiave/valore che potrebbero essere state emesse durante l'esecuzione del test case.

Parametri
test TestDescription: identifica il test

testMetrics : una percentuale pari a ERROR(/Map) delle metriche emesse

testFailed

public void testFailed (TestDescription test, 
                String trace)

Segnala l'errore di un singolo test case.

Verrà chiamato tra testStarted e testEnded.

Parametri
test TestDescription: identifica il test

trace String: analisi dello stack degli errori

testIgnored

public void testIgnored (TestDescription test)

Richiamato quando non verrà eseguito un test, in genere perché un metodo di test è annotato con org.junit.Ignora.

Parametri
test TestDescription: identifica il test

testLog

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

Fornisce i dati di log o di debug associati dall'invocazione del test.

Deve essere chiamato prima del giorno 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 nome descrittivo String dei dati, ad esempio "device_logcat". Nota: dataName potrebbe non essere univoco per ogni chiamata. Ad esempio, gli implementatori devono essere in grado di gestire più chiamate con lo stesso dataName

dataType LogDataType: il LogDataType dei dati

dataStream InputStreamSource: il InputStreamSource dei dati. Gli implementatori devono chiamare createInputStream per iniziare a leggere i dati e assicurarsi di chiudere InputStream risultante al termine. Gli utenti che chiamano 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.

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

runMetrics : coppie chiave/valore segnalate al termine dell'esecuzione di un test

testRunFailed

public void testRunFailed (String errorMessage)

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

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

Parametri
runName String: nome dell'esecuzione del test

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

testRunArrestato

public void testRunStopped (long elapsedTime)

Esecuzione di test dei report interrotta prima del completamento a causa di una richiesta dell'utente.

TODO: currently unused, consider removing

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

testIniziato

public void testStarted (TestDescription test)

Segnala l'inizio di un singolo test case. Interfaccia precedente, da utilizzare con testStarted(com.android.tradefed.result.TestDescription), se possibile.

Parametri
test TestDescription: identifica il test