InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

java.lang.Object
com.android.ddmlib.MultiLineReceiver
  com.android.tradefed.result.ddmlib.InstrumentationResultParser


Analyse les résultats du "mode de sortie brute" d'une exécution de test d'instrumentation à partir du shell et informe un ITestRunListener des résultats.

S'attend à la sortie suivante :

Si une erreur fatale s'est produite lors de la tentative d'exécution des tests :

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

ou

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

Sinon, attendez-vous à une série de résultats de test, chacun contenant un ensemble de paires clé/valeur d'état, délimités par un résultat de code d'état start(1)/pass(0)/fail(-2)/error(-1). À la fin de l'exécution du test, le temps de test écoulé en secondes doit s'afficher.

Exemple :

 INSTRUMENTATION_STATUS_CODE: 1
 INSTRUMENTATION_STATUS: class=com.foo.FooTest
 INSTRUMENTATION_STATUS: test=testFoo
 INSTRUMENTATION_STATUS: numtests=2
 INSTRUMENTATION_STATUS: stack=com.foo.FooTest#testFoo:312
    com.foo.X
 INSTRUMENTATION_STATUS_CODE: -2
 ...

 Time: X
 

Notez que la partie "valeur" de la paire clé/valeur peut s'étendre sur plusieurs lignes de texte.

Utilisez plutôt InstrumentationProtoResultParser. L'analyseur basé sur proto contient des informations supplémentaires , telles que le message logcat.

Résumé

Constructeurs publics

InstrumentationResultParser(String runName, ITestRunListener listener)

Crée l'InstrumentationResultParser pour un seul écouteur.

InstrumentationResultParser(String runName, Collection<ITestRunListener> listeners)

Crée l'InstrumentationResultParser.

Méthodes publiques

void cancel()

Demande l'annulation de l'exécution du test.

void done()

Appelé par le parent lorsque la session adb est terminée.

void handleTestRunFailed(String errorMsg)

Cette méthode est appelée lorsque la commande "am instrument" plante avec une exception.

boolean isCancelled()

Renvoie la valeur "true" si l'exécution du test est annulée.

void processNewLines(String[] lines)

Traite la sortie du test d'instrumentation à partir du shell.

Constructeurs publics

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                ITestRunListener listener)

Crée l'InstrumentationResultParser pour un seul écouteur.

Paramètres
runName String : nom de l'exécution du test à fournir à ITestRunListener.testRunStarted(String,int)

listener ITestRunListener : informé des résultats des tests lors de leur exécution

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                Collection<ITestRunListener> listeners)

Crée l'InstrumentationResultParser.

Paramètres
runName String : nom de l'exécution du test à fournir à ITestRunListener.testRunStarted(String,int)

listeners Collection : informé des résultats des tests lors de leur exécution

Méthodes publiques

annuler

public void cancel ()

Demande l'annulation de l'exécution du test.

OK

public void done ()

Appelé par le parent lorsque la session adb est terminée.

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

Cette méthode est appelée lorsque la commande "am instrument" plante avec une exception. Tous les écouteurs enregistrés doivent être avertis ITestRunListener.testRunFailed suivi de ITestRunListener.testRunEnded si le plantage se produit lors de l'exécution du test.

Paramètres
errorMsg String

isCancelled

public boolean isCancelled ()

Renvoie la valeur "true" si l'exécution du test est annulée.

Renvoie
boolean true pour annuler l'exécution de la commande.

processNewLines

public void processNewLines (String[] lines)

Traite la sortie du test d'instrumentation à partir du shell.

Paramètres
lines String : tableau contenant les nouvelles lignes.