InstrumentationProtoResultParser

public class InstrumentationProtoResultParser
extends Object implements IInstrumentationResultParser

java.lang.Object
   ↳ com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser


Analiza los resultados del "modo de salida protoStd" de una prueba de instrumentación ejecutada desde la shell y le informa los resultados a un ITestRunListener.

El comando am instrument con la opción "-m" genera el estado de ejecución de la prueba en formato protobuf binario de forma incremental. El mensaje de protobuf de salida es InstrumentationData.Session, que tiene dos campos: 1) un campo repetido de InstrumentationData.TestStatus, 2) InstrumentationData.SessionStatus. El comando am instrument muestra el mensaje de estado de la prueba antes o después de cada ejecución de prueba. addOutput(byte, int, int) se invoca con un argumento data, que es un byte serializado de TestStatus(es). Cuando se realizan todas las pruebas, el comando muestra SessionStatus por último.

Consulta https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto para obtener una definición completa de protobuf.

InstrumentationProtoResultParser es una máquina de estados y los estados se definen en ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState). El estado comienza con ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED). Cuando ve el estado de un primer caso de prueba, pasa a ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING). El estado cambia a ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) si se realizan todas las pruebas o a ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) si se solicita llamando a cancel().

Cada vez que haya un nuevo estado de prueba disponible, se informará a los objetos de escucha registrados.

Resumen

Constructores públicos

InstrumentationProtoResultParser(String runName, listeners)

Construye InstrumentationProtoResultParser.

Métodos públicos

void addOutput(byte[] data, int offset, int length)

Se llama a este método cada vez que hay datos nuevos disponibles.

void cancel()
void flush()
void handleTestRunFailed(String errorMsg)
boolean isCancelled()

Constructores públicos

InstrumentationProtoResultParser

public InstrumentationProtoResultParser (String runName, 
                 listeners)

Construye InstrumentationProtoResultParser.

Parámetros
runName String: Es el nombre de la ejecución de prueba que se proporcionará a ITestRunListener.testRunStarted.

listeners : Se informa de los resultados de las pruebas a medida que se ejecutan.

Métodos públicos

addOutput

public void addOutput (byte[] data, 
                int offset, 
                int length)

Se llama a este método cada vez que hay datos nuevos disponibles.

Parámetros
data byte: Datos serializados del mensaje InstrumentationData.Session. Si data es un fragmento incompleto, se agrega a un búfer interno y se procesará en la próxima llamada a addOutput(byte, int, int).

offset int: Es un desplazamiento de los datos nuevos almacenados en data.

length int: Bytes de datos nuevos en data que se procesarán.

cancelar

public void cancel ()

vaciar

public void flush ()

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

Parámetros
errorMsg String

isCancelled

public boolean isCancelled ()

Muestra
boolean