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,
Construye |
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 |