InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
java.lang.Object | |
↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
Analyse les résultats du "mode de sortie protoStd" d'un test d'instrumentation exécuté à partir du shell et informe un ITestRunListener des résultats.
Une commande d'instrumentation avec l'option "-m" affiche l'état d'exécution des tests au format protobuf binaire de manière incrémentielle. Le message protobuf de sortie est InstrumentationData.Session
, qui comporte deux champs: 1) un champ répété de InstrumentationData.TestStatus
, 2) InstrumentationData.SessionStatus
. La commande am instrument génère un message d'état du test avant/après chaque exécution du test. addOutput(byte, int, int)
est appelé avec un argument data
, qui est un octet sérialisé de TestStatus
(s). Une fois tous les tests terminés, la commande génère finalement SessionStatus
.
Consultez la page https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto pour obtenir une définition complète de protobuf.
InstrumentationProtoResultParser
est une machine à états, et les états sont définis dans ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState)
. L'état commence par ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED)
. Lorsqu'il voit l'état d'un premier cas de test, il passe à ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING)
. L'état passe à ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED)
si tous les tests sont effectués ou à ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED)
s'il est demandé en appelant cancel()
.
Chaque fois qu'un nouvel état de test est disponible, il est communiqué aux écouteurs enregistrés.
Résumé
Constructeurs publics | |
---|---|
InstrumentationProtoResultParser(String runName,
Construit |
Méthodes publiques | |
---|---|
void
|
addOutput(byte[] data, int offset, int length)
Cette méthode est appelée chaque fois que de nouvelles données sont disponibles. |
void
|
cancel()
|
void
|
flush()
|
void
|
handleTestRunFailed(String errorMsg)
|
boolean
|
isCancelled()
|
Constructeurs publics
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,listeners)
Construit InstrumentationProtoResultParser
.
Paramètres | |
---|---|
runName |
String : nom de l'exécution de test à fournir à ITestRunListener.testRunStarted |
listeners |
: informé des résultats des tests pendant leur exécution |
Méthodes publiques
addOutput
public void addOutput (byte[] data, int offset, int length)
Cette méthode est appelée chaque fois que de nouvelles données sont disponibles.
Paramètres | |
---|---|
data |
byte : données sérialisées du message InstrumentationData.Session . Si data est un bloc incomplet, il est ajouté à un tampon interne et sera traité lors du prochain appel addOutput(byte, int, int) . |
offset |
int : décalage des nouvelles données stockées dans data |
length |
int : octets de nouvelles données dans data à traiter. |
Annuler
public void cancel ()
vider
public void flush ()
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
Paramètres | |
---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
Renvoie | |
---|---|
boolean |