BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


Un pass-through ITestInvocationListener che raccoglie report di bug quando si verificano eventi configurabili e poi chiama ITestInvocationListener.testLog sui suoi figli dopo ogni report di bug raccolto.

Comportamenti: (FIXME: finish this)

  • Acquisizione dopo ogni testcase non riuscito
  • Acquisizione dopo ogni scenario di test
  • Acquisizione dopo ogni caso di test non riuscito
  • Acquisisci

Riepilogo

Classi nidificate

class BugreportCollector.Predicate

Un predicato completo che descrive quando acquisire un report bug. 

interface BugreportCollector.SubPredicate

 

Campi

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Un predicato predefinito che viene attivato dopo ogni caso 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 finché l'agente di raccolta non raccoglie più report di bug.

TestSummary getSummary()

Consente a InvocationListener di restituire un riepilogo.

void invocationEnded(long elapsedTime)

Indica che l'invocazione è terminata, correttamente o a causa di una 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 delle segnalazioni bug deve raccogliere la segnalazione bug in un thread diverso (asynchronous = true) o bloccare il chiamante finché la segnalazione bug non viene acquisita (asynchronous = false).

void setDescriptiveName(String name)

Imposta il nome descrittivo da utilizzare durante la registrazione dei report sui bug.

void setDeviceWaitTime(int waitTime)

Imposta il tempo (in secondi) di attesa prima che il dispositivo sia online prima di tentare di acquisire un bugreport.

void testAssumptionFailure(TestDescription test, String trace)

Chiamato quando un test atomico segnala che presuppone una condizione falsa

void testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)

Segnala la fine dell'esecuzione di un singolo scenario di test.

void testFailed(TestDescription test, String trace)

Segnala l'esito negativo di un singolo test case.

void testIgnored(TestDescription test)

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, HashMap<String, MetricMeasurement.Metric> runMetrics)

Segnala la fine dell'esecuzione del test.

void testRunFailed(String errorMessage)

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

void testRunStarted(String runName, int testCount)

Segnala l'inizio di un'esecuzione di test.

void testRunStopped(long elapsedTime)

L'esecuzione di prova 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 caso di test 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

blockUntilIdle

public void blockUntilIdle ()

Blocca finché l'agente di raccolta non raccoglie più report di bug. Se l'agente di raccolta non sta raccogliendo attivamente una segnalazione di bug, restituisci immediatamente

getSummary

public TestSummary getSummary ()

Consente a InvocationListener di restituire un riepilogo.

Resi
TestSummary Un TestSummary che riassume la corsa o null

invocationEnded

public void invocationEnded (long elapsedTime)

Indica 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 dell'invocazione in ms

invocationFailed

public void invocationFailed (Throwable cause)

Segnala una chiamata incompleta a causa di una condizione 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 della chiamata di test.

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

Parametri
context IInvocationContext: informazioni sulla chiamata

setAsynchronous

public void setAsynchronous (boolean asynchronous)

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

Parametri
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Imposta il nome descrittivo da utilizzare durante la registrazione dei report sui bug. Se null, BugreportCollector verrà ripristinato il comportamento predefinito di serializzazione del nome dell'evento che ha causato la raccolta del report 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 tentare di acquisire un bugreport. Se è negativo, non verrà eseguito alcun controllo. Eventuali DeviceNotAvailableException rilevati durante questo controllo verranno registrati e ignorati.

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: analisi dello stack dell'errore

testEnded

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

Segnala la fine dell'esecuzione di un singolo scenario di test.

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

Parametri
test TestDescription: identifica il test

testMetrics HashMap: un Map delle metriche emesse

testFailed

public void testFailed (TestDescription test, 
                String trace)

Segnala l'esito negativo di un singolo test case.

Verrà chiamato tra testStarted e testEnded.

Parametri
test TestDescription: identifica il test

trace String: analisi dello stack dell'errore

testIgnored

public void testIgnored (TestDescription test)

Chiamato quando un test non verrà eseguito, in genere 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 di debug associati dall'invocazione del test.

Deve essere chiamato prima del giorno ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) o del giorno ERROR(/ITestInvocationListener#invocationEnded(long))

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

Parametri
dataName String: un nome descrittivo dei dati, ad esempio "device_logcat".String Nota dataName potrebbe non essere univoco per invocazione. 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 l'InputStream risultante al termine dell'operazione. 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, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Segnala la fine dell'esecuzione del test. FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

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

runMetrics HashMap: coppie chiave-valore riportate alla fine di un'esecuzione del test con Metric.

testRunFailed

public void testRunFailed (String errorMessage)

L'esecuzione del test dei report non è stata completata 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 test.

Parametri
runName String: il nome dell'esecuzione di test

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

testRunStopped

public void testRunStopped (long elapsedTime)

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

TODO: currently unused, consider removing

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

testStarted

public void testStarted (TestDescription test)

Segnala l'inizio di un singolo scenario di test. Interfaccia precedente, deve utilizzare testStarted(TestDescription) quando possibile.

Parametri
test TestDescription: identifica il test