ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
com.android.tradefed.result.CollectingTestListener
com.android.tradefed.invoker.ShardListener


Un ITestInvocationListener qui collecte les résultats d'une partition d'invocation (c'est-à-dire une division d'invocation pour s'exécuter sur plusieurs ressources en parallèle) et les transmet à un autre écouteur.

Résumé

Constructeurs publics

ShardListener ( ITestInvocationListener main)

Créez un ShardListener .

Méthodes publiques

getUnderlyingResultReporter ()
void invocationEnded (long elapsedTime)

Signale que l'invocation s'est terminée, que ce soit avec succès ou en raison d'une condition d'erreur.

void invocationFailed ( FailureDescription failure)

Signale un appel incomplet en raison d'une condition d'erreur.

void invocationFailed (Throwable cause)

Signale un appel incomplet en raison d'une condition d'erreur.

void invocationStarted ( IInvocationContext context)

Signale le début de l'invocation du test.

void logAssociation (String dataName, LogFile logFile)

Dans certains cas, le journal doit être fortement associé à un cas de test, mais la possibilité de le faire sur le direct testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) le rappel n'est pas possible.

void setSupportGranularResults (boolean enableGranularResults)
boolean supportGranularResults ()

Renvoie True si le rapporteur prend en charge les résultats granulaires, false sinon.

void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)

Fournit les données de journal ou de débogage associées à partir de l'appel de test.

void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

void testModuleEnded ()

Signale la fin de l'exécution d'un module.

void testModuleStarted ( IInvocationContext moduleContext)

Signale le début d'un module en cours d'exécution.

void testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics)

Signale la fin de l'exécution du test.

void testRunFailed ( FailureDescription failure)

L'exécution du test de rapports n'a pas abouti en raison d'un échec décrit par FailureDescription .

void testRunFailed (String failureMessage)

L'exécution du test des rapports n'a pas abouti en raison d'une erreur fatale.

void testRunStarted (String name, int numTests, int attemptNumber, long startTime)

Signale le début d'une exécution de test.

Constructeurs publics

ShardListener

public ShardListener (ITestInvocationListener main)

Créez un ShardListener .

Paramètres
main ITestInvocationListener : le ITestInvocationListener dont les résultats doivent être transmis. Pour éviter les collisions avec d'autres ShardListener s, cet objet se synchronisera sur main lors de la transmission des résultats. Et les résultats ne seront envoyés qu'une fois le fragment d'invocation terminé.

Méthodes publiques

getUnderlyingReporterReporter

public  getUnderlyingResultReporter ()

Retour

invocationEnded

public void invocationEnded (long elapsedTime)

Signale que l'invocation s'est terminée, que ce soit avec succès ou en raison d'une condition d'erreur.

Sera automatiquement appelé par le framework TradeFederation.

Paramètres
elapsedTime long : le temps écoulé de l'invocation en ms

invocationFailed

public void invocationFailed (FailureDescription failure)

Signale un appel incomplet en raison d'une condition d'erreur.

Sera automatiquement appelé par le framework TradeFederation.

Paramètres
failure FailureDescription : la FailureDescription décrivant la cause de l'échec

invocationFailed

public void invocationFailed (Throwable cause)

Signale un appel incomplet en raison d'une condition d'erreur.

Sera automatiquement appelé par le framework TradeFederation.

Paramètres
cause Throwable : la cause Throwable de l'échec

invocationStarted

public void invocationStarted (IInvocationContext context)

Signale le début de l'invocation du test.

Sera automatiquement appelé par le framework TradeFederation. Les rapporteurs doivent remplacer cette méthode pour prendre en charge les rapports sur plusieurs appareils.

Paramètres
context IInvocationContext : informations sur l'invocation

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

Dans certains cas, le journal doit être fortement associé à un cas de test, mais la possibilité de le faire sur le direct testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) le rappel n'est pas possible. Ainsi, ce callback permet de fournir explicitement une association forte.

Paramètres
dataName String : Le nom des données

logFile LogFile : le LogFile qui a été enregistré auparavant et qui doit être associé au cas de test.

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

Paramètres
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

Renvoie True si le rapporteur prend en charge les résultats granulaires, false sinon.

Retour
boolean

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Fournit les données de journal ou de débogage associées à partir de l'appel de test.

Doit être appelé avant ERROR(/ITestInvocationListener#invocationFailed(Throwable)) ou ERROR(/ITestInvocationListener#invocationEnded(long))

Le framework TradeFederation appellera automatiquement cette méthode, fournissant le journal de l'hôte et, le cas échéant, le logcat de l'appareil.

Paramètres
dataName String : un nom String descriptif des données. par exemple "device_logcat". Remarque dataName peut ne pas être unique par appel. c'est-à-dire que les implémenteurs doivent être capables de gérer plusieurs appels avec le même dataName

dataType LogDataType : le LogDataType des données

dataStream InputStreamSource : le InputStreamSource des données. Les implémenteurs doivent appeler createInputStream pour commencer à lire les données et s'assurer de fermer le InputStream résultant une fois terminé. Les appelants doivent s'assurer que la source des données reste présente et accessible jusqu'à ce que la méthode testLog se termine.

testLogEnregistré

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

Paramètres
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

Signale la fin de l'exécution d'un module.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Signale le début d'un module en cours d'exécution. Ce rappel est associé à testModuleEnded() et est facultatif dans la séquence. Il n'est utilisé que lors d'une exécution qui utilise des modules : les exécuteurs basés sur la suite.

Paramètres
moduleContext IInvocationContext : le IInvocationContext du module.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Signale la fin de l'exécution du test. FIXME : nous ne pouvons pas avoir deux interfaces Map<> de type différent, nous devons donc utiliser HashMap ici.

Paramètres
elapsedTime long : temps écoulé signalé par l'appareil, en millisecondes

runMetrics : paires clé-valeur rapportées à la fin d'un test avec Metric .

testRunFailed

public void testRunFailed (FailureDescription failure)

L'exécution du test de rapports n'a pas abouti en raison d'un échec décrit par FailureDescription .

Paramètres
failure FailureDescription : FailureDescription décrivant l'échec et son contexte.

testRunFailed

public void testRunFailed (String failureMessage)

L'exécution du test des rapports n'a pas abouti en raison d'une erreur fatale.

Paramètres
failureMessage String : String décrivant la raison de l'échec de l'exécution.

testRunStarted

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

Signale le début d'une exécution de test.

Paramètres
name String : le nom de l'exécution du test

numTests int : nombre total de tests en cours de test

attemptNumber int : numéro de commande, identifiant les différentes tentatives du même runName qui s'exécutent plusieurs fois. Le tryNumber est indexé à 0 et doit s'incrémenter à chaque fois qu'une nouvelle exécution se produit. Par exemple, un test est réessayé 3 fois de manière granulaire, il doit avoir 4 exécutions au total sous le même nom d'exécution et le nombre de tentatives est compris entre 0 et 3.

startTime long : l'heure à laquelle l'exécution a commencé, mesurée via System.currentTimeMillis()