ResultDBReporter

public class ResultDBReporter
extends Object implements IConfigurationReceiver, ILogSaverListener, ISupportGranularResults, ITestSummaryListener

java.lang.Object
   ↳ com.android.tradefed.result.resultdb.ResultDBReporter


Es un reportero de resultados que sube los resultados de las pruebas a ResultDB.

Resumen

Campos

protected IInvocationContext mContext

protected boolean mEnableAlTestProperties

Constructores públicos

ResultDBReporter()

Métodos públicos

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(FailureDescription failure)

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

void invocationFailed(Throwable cause)

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

void invocationSkipped(SkipReason reason)

Informa que se omitió una invocación

void invocationStarted(IInvocationContext context)

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

boolean isDisabled()
void logAssociation(String dataName, LogFile logFile)

En algunos casos, el registro debe estar fuertemente asociado con los casos de prueba, pero no es posible hacerlo en la devolución de llamada directa de testLogSaved(String,LogDataType,InputStreamSource,LogFile).

void setConfiguration(IConfiguration configuration)

Inserta el IConfiguration en uso.

void setLogSaver(ILogSaver logSaver)

Establece ILogSaver para permitir que el implementador guarde archivos.

boolean supportGranularResults()

Devuelve True si el reporter admite resultados detallados y False en caso contrario.

void testAssumptionFailure(TestDescription test, String trace)

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

void testAssumptionFailure(TestDescription test, FailureDescription failure)

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

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

Alternativa a testEnded(TestDescription,Map) en la que podemos especificar la hora de finalización directamente.

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, FailureDescription failure)

Informa la falla 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 testModuleEnded()

Informa el final de la ejecución de un módulo.

void testModuleStarted(IInvocationContext moduleContext)

Informa el inicio de la ejecución de un módulo.

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

Informa el final de una ejecución de prueba.

void testRunFailed(FailureDescription failure)

No se pudo completar la ejecución de prueba de informes debido a un error descrito por FailureDescription.

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, int attemptNumber)

Informa el inicio de una ejecución de prueba.

void testRunStarted(String runName, int testCount)

Informa el inicio de una ejecución de prueba.

void testRunStarted(String runName, int testCount, int attemptNumber, long startTime)

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 testSkipped(TestDescription test, SkipReason reason)

Se llama cuando se omite una prueba y no se ejecuta por un motivo que no se espera habitualmente.

void testStarted(TestDescription test, long startTime)

Alternativa a testStarted(TestDescription) en la que también especificamos cuándo se inició la prueba, combinada con testEnded(TestDescription,long,Map) para una medición precisa.

void testStarted(TestDescription test)

Informa el inicio de un caso de prueba individual.

void uploadStoragePath(String resourceId, String storagePath, LogFile logFile)

Sube la ruta de almacenamiento de un artefacto de prueba de AnTS a ResultDB.

Campos

mContext

protected IInvocationContext mContext

mEnableAlTestProperties

protected boolean mEnableAlTestProperties

Constructores públicos

ResultDBReporter

public ResultDBReporter ()

Métodos públicos

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 (FailureDescription failure)

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

El framework de TradeFederation lo llamará automáticamente.

Parámetros
failure FailureDescription: Es el FailureDescription que describe la causa de la falla.

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.

invocationSkipped

public void invocationSkipped (SkipReason reason)

Informa que se omitió una invocación

Parámetros
reason SkipReason

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

isDisabled

public boolean isDisabled ()

Muestra
boolean

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

En algunos casos, el registro debe estar fuertemente asociado con los casos de prueba, pero no es posible hacerlo en la devolución de llamada directa de testLogSaved(String,LogDataType,InputStreamSource,LogFile). Por lo tanto, esta devolución de llamada permite proporcionar una asociación sólida de forma explícita.

Parámetros
dataName String: El nombre de los datos

logFile LogFile: Es el LogFile que se registró antes y que debe asociarse con el caso de prueba.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Inserta el IConfiguration en uso.

Parámetros
configuration IConfiguration

setLogSaver

public void setLogSaver (ILogSaver logSaver)

Establece ILogSaver para permitir que el implementador guarde archivos.

Parámetros
logSaver ILogSaver: El ILogSaver

supportGranularResults

public boolean supportGranularResults ()

Devuelve True si el reporter admite resultados detallados y False en caso contrario.

Muestra
boolean

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.

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

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

Parámetros
test TestDescription: Identifica la prueba.

failure FailureDescription: FailureDescription que describe la falla y su contexto.

testEnded

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

Alternativa a testEnded(TestDescription,Map) en la que podemos especificar la hora de finalización directamente. Combínalo con testStarted(TestDescription,long) para obtener una medición precisa.

Parámetros
test TestDescription: Identifica la prueba.

endTime long: Es la fecha y hora en que finalizó la prueba, medida a través de System.currentTimeMillis().

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

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, 
                FailureDescription failure)

Informa la falla de un caso de prueba individual.

Se llamará entre testStarted y testEnded.

Parámetros
test TestDescription: Identifica la prueba.

failure FailureDescription: FailureDescription que describe la falla y su contexto.

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.

testModuleEnded

public void testModuleEnded ()

Informa el final de la ejecución de un módulo.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Informa el inicio de la ejecución de un módulo. Esta devolución de llamada está asociada a testModuleEnded() y es opcional en la secuencia. Solo se usa durante una ejecución que utiliza módulos: ejecutores basados en conjuntos de pruebas.

Parámetros
moduleContext IInvocationContext: Es el IInvocationContext del módulo.

testRunEnded

public void testRunEnded (long elapsedTimeMillis, 
                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
elapsedTimeMillis 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 (FailureDescription failure)

No se pudo completar la ejecución de prueba de informes debido a un error descrito por FailureDescription.

Parámetros
failure FailureDescription: FailureDescription que describe la falla y su contexto.

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, 
                int attemptNumber)

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.

attemptNumber int: Es el número de pedido que identifica los diferentes intentos del mismo runName que se ejecuta varias veces. El valor de attemptNumber se indexa a partir de 0 y debe incrementarse cada vez que se ejecute una nueva prueba. Por ejemplo, si una prueba se reintenta de forma granular 3 veces, debería tener 4 ejecuciones totales con el mismo runName y el valor de attemptNumber debería ser de 0 a 3.

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.

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

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.

attemptNumber int: Es el número de pedido que identifica los diferentes intentos del mismo runName que se ejecuta varias veces. El valor de attemptNumber se indexa a partir de 0 y debe incrementarse cada vez que se ejecute una nueva prueba. Por ejemplo, si una prueba se reintenta de forma granular 3 veces, debería tener 4 ejecuciones totales con el mismo runName y el valor de attemptNumber debería ser de 0 a 3.

startTime long: Es la hora en que comenzó la ejecución, medida a través de System.currentTimeMillis().

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.

testSkipped

public void testSkipped (TestDescription test, 
                SkipReason reason)

Se llama cuando se omite una prueba y no se ejecuta por un motivo que no se espera habitualmente. Se intentará volver a ejecutar estas pruebas para obtener una ejecución adecuada.

Parámetros
test TestDescription: Identifica la prueba.

reason SkipReason: SkipReason

testStarted

public void testStarted (TestDescription test, 
                long startTime)

Alternativa a testStarted(TestDescription) en la que también especificamos cuándo se inició la prueba, combinada con testEnded(TestDescription,long,Map) para una medición precisa.

Parámetros
test TestDescription: Identifica la prueba.

startTime long: Es la fecha y hora en que comenzó la prueba, medida a través de System.currentTimeMillis().

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.

uploadStoragePath

public void uploadStoragePath (String resourceId, 
                String storagePath, 
                LogFile logFile)

Sube la ruta de almacenamiento de un artefacto de prueba de AnTS a ResultDB.

Esta es una solución temporal para la migración de AnTS a ResultDB (consulta go/convergence-tr). El reportero de AnTS debe llamar a este método cuando esté disponible la ruta de almacenamiento de un artefacto.

El reportero de AnTS garantiza que llamará a este método para cada artefacto que suba. A su vez, este reportero subirá todos esos artefactos a ResultDB con la asociación de prueba correcta. Para que la asociación de registros sea correcta,es necesario que se haya llamado a logAssociation(String,LogFile) para el mismo ID de recurso con anterioridad. Esto garantiza que el artefacto ya se esté rastreando. De lo contrario, el artefacto se asociará con la unidad de trabajo de nivel superior de la invocación de Tradefed.

No se debe llamar a este método antes de invocationStarted(IInvocationContext). Se puede llamar después de invocationEnded(long) para las invocaciones administradas por un sistema upstream, ya que este reportero no las finaliza. Esto no se aplica a las invocaciones creadas de forma local, que se finalizan en invocationEnded(long).

TODO(b/464941055): Quita este método cuando podamos migrar correctamente los artefactos de AnTS a ResultDB.

Parámetros
resourceId String: Es el ID del recurso del artefacto.

storagePath String: Es la ruta de acceso de almacenamiento del artefacto (p.ej., una ruta de acceso /bigstore/).

logFile LogFile: Es el objeto LogFile asociado al artefacto.