BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


Un ITestInvocationListener de transferencia que recopila informes de errores cuando ocurren eventos configurables y, luego, llama a ITestInvocationListener.testLog en sus elementos secundarios después de recopilar cada informe de errores.

Comportamientos: (FIXME: finish this)

  • Captura después de cada caso de prueba si alguno falló
  • Captura después de cada caso de prueba
  • Captura después de cada caso de prueba fallido
  • Capturar

Resumen

Clases anidadas

class BugreportCollector.Predicate

Es un predicado completo que describe cuándo se debe capturar un informe de errores. 

interface BugreportCollector.SubPredicate

 

Campos

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Es un predicado predefinido que se activa después de cada caso de prueba fallido.

public static final BugreportCollector.Predicate AT_START

Es un predicado predefinido que se activa cuando comienza la primera invocación.

Constructores públicos

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Métodos públicos

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

Se bloquea hasta que el recopilador deje de recopilar informes de errores.

TestSummary getSummary()

Permite que InvocationListener devuelva un resumen.

void invocationEnded(long elapsedTime)

Informa que la invocación finalizó, ya sea correctamente o debido a alguna condición de error.

void invocationFailed(Throwable cause)

Informa una invocación incompleta debido a alguna condición de error.

void invocationStarted(IInvocationContext context)

Informa el inicio de la invocación de la prueba.

void setAsynchronous(boolean asynchronous)

Establece si la recopilación del informe de errores debe recopilar el informe en un subproceso diferente (asynchronous = true) o bloquear al llamador hasta que se capture el informe (asynchronous = false).

void setDescriptiveName(String name)

Establece el nombre descriptivo que se usará cuando se registren los informes de errores.

void setDeviceWaitTime(int waitTime)

Establece el tiempo (en segundos) que se debe esperar a que el dispositivo esté en línea antes de intentar capturar un informe de errores.

void testAssumptionFailure(TestDescription test, String trace)

Se llama cuando una prueba atómica marca que supone una condición que es falsa

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

Informa el final de la ejecución de un caso de prueba individual.

void testFailed(TestDescription test, String trace)

Informa la falla de un caso de prueba individual.

void testIgnored(TestDescription test)

Se llama cuando no se ejecutará una prueba, generalmente porque un método de prueba está anotado con org.junit.Ignore.

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

Proporciona los datos de registro o depuración asociados de la invocación de la prueba.

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

Informa el final de una ejecución de prueba.

void testRunFailed(String errorMessage)

Informa que no se pudo completar la ejecución de prueba debido a un error grave.

void testRunStarted(String runName, int testCount)

Informa el inicio de una ejecución de prueba.

void testRunStopped(long elapsedTime)

Se detuvo la ejecución de prueba antes de que se completara debido a una solicitud del usuario.

void testStarted(TestDescription test)

Informa el inicio de un caso de prueba individual.

Campos

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Es un predicado predefinido que se activa después de cada caso de prueba fallido.

AT_START

public static final BugreportCollector.Predicate AT_START

Es un predicado predefinido que se activa cuando comienza la primera invocación.

Constructores públicos

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parámetros
listener ITestInvocationListener

testDevice ITestDevice

Métodos públicos

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Parámetros
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Se bloquea hasta que el recopilador deje de recopilar informes de errores. Si el recolector no está recopilando activamente un informe de errores, devuelve el control de inmediato.

getSummary

public TestSummary getSummary ()

Permite que InvocationListener devuelva un resumen.

Muestra
TestSummary Un objeto TestSummary que resume la ejecución o un valor nulo

invocationEnded

public void invocationEnded (long elapsedTime)

Informa que la invocación finalizó, ya sea correctamente o debido a alguna condición de error.

El framework de TradeFederation lo llamará automáticamente.

Parámetros
elapsedTime long: Es el tiempo transcurrido de la invocación en ms.

invocationFailed

public void invocationFailed (Throwable cause)

Informa una invocación incompleta debido a alguna condición de error.

El framework de TradeFederation lo llamará automáticamente.

Parámetros
cause Throwable: Es la causa Throwable de la falla.

invocationStarted

public void invocationStarted (IInvocationContext context)

Informa el inicio de la invocación de la prueba.

El framework de TradeFederation lo llamará automáticamente. Los reporteros deben anular este método para admitir informes de varios dispositivos.

Parámetros
context IInvocationContext: Información sobre la invocación

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Establece si la recopilación del informe de errores debe recopilar el informe en un subproceso diferente (asynchronous = true) o bloquear al llamador hasta que se capture el informe (asynchronous = false).

Parámetros
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Establece el nombre descriptivo que se usará cuando se registren los informes de errores. Si es null, BugreportCollector recurrirá al comportamiento predeterminado de serializar el nombre del evento que provocó la recopilación del informe de errores.

Parámetros
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Establece el tiempo (en segundos) que se debe esperar a que el dispositivo esté en línea antes de intentar capturar un informe de errores. Si es negativo, no se realizará ninguna verificación. Se registrará y se ignorará cualquier DeviceNotAvailableException que se encuentre durante esta verificación.

Parámetros
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Se llama cuando una prueba atómica marca que supone una condición que es falsa

Parámetros
test TestDescription: Identifica la prueba.

trace String: Es el seguimiento de pila de la falla.

testEnded

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

Informa el final de la ejecución de un caso de prueba individual.

Si no se invocó testFailed(TestDescription, FailureDescription), esta prueba se aprobó. También devuelve las métricas de clave/valor que se hayan emitido durante la ejecución del caso de prueba.

Parámetros
test TestDescription: Identifica la prueba.

testMetrics HashMap: Un Map de las métricas emitidas.

testFailed

public void testFailed (TestDescription test, 
                String trace)

Informa la falla de un caso de prueba individual.

Se llamará entre testStarted y testEnded.

Parámetros
test TestDescription: Identifica la prueba.

trace String: Es el seguimiento de pila de la falla.

testIgnored

public void testIgnored (TestDescription test)

Se llama cuando no se ejecutará una prueba, generalmente porque un método de prueba está anotado con org.junit.Ignore.

Parámetros
test TestDescription: Identifica la prueba.

testLog

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

Proporciona los datos de registro o depuración asociados de la invocación de la prueba.

Se debe llamar antes de ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) o ERROR(/ITestInvocationListener#invocationEnded(long)).

El framework de TradeFederation llamará automáticamente a este método, proporcionando el registro del host y, si corresponde, el registro de logcat del dispositivo.

Parámetros
dataName String: Es un nombre descriptivo de los datos, p. ej., "device_logcat".String Nota: dataName puede no ser único por invocación, es decir, los implementadores deben poder controlar varias llamadas con el mismo dataName.

dataType LogDataType: El LogDataType de los datos

dataStream InputStreamSource: Es el InputStreamSource de los datos. Los implementadores deben llamar a createInputStream para comenzar a leer los datos y asegurarse de cerrar el InputStream resultante cuando se complete la lectura. Los llamadores deben asegurarse de que la fuente de datos permanezca presente y accesible hasta que se complete el método testLog.

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Informa el final de una ejecución de prueba. FIXME: No podemos tener dos interfaces Map<> con diferentes tipos, por lo que tenemos que usar HashMap aquí.

Parámetros
elapsedTime long: Tiempo transcurrido informado por el dispositivo, en milisegundos.

runMetrics HashMap: Pares clave-valor que se registran al final de una ejecución de prueba con Metric.

testRunFailed

public void testRunFailed (String errorMessage)

Informa que no se pudo completar la ejecución de prueba debido a un error grave.

Parámetros
errorMessage String: String que describe el motivo de la falla de la ejecución.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Informa el inicio de una ejecución de prueba.

Parámetros
runName String: Es el nombre de una ejecución de prueba.

testCount int: Es la cantidad total de pruebas en la ejecución de prueba.

testRunStopped

public void testRunStopped (long elapsedTime)

Se detuvo la ejecución de prueba antes de que se completara debido a una solicitud del usuario.

TODO: Actualmente no se usa, considera quitarlo

Parámetros
elapsedTime long: Tiempo transcurrido informado por el dispositivo, en milisegundos.

testStarted

public void testStarted (TestDescription test)

Informa el inicio de un caso de prueba individual. Es una interfaz más antigua. Se debe usar testStarted(TestDescription) siempre que sea posible.

Parámetros
test TestDescription: Identifica la prueba.