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