BasePostProcessor

public abstract class BasePostProcessor
extends Object implements IPostProcessor

java.lang.Object
com.android.tradefed.postprocessor.BasePostProcessor


IPostProcessor de base que chaque implémentation doit étendre. Assurez-vous que les méthodes de post-traitement sont appelées avant les rapporteurs de résultats finaux.

Résumé

Constructeurs publics

BasePostProcessor ()

Méthodes publiques

final ITestInvocationListener init ( ITestInvocationListener listener)

Etape d'initialisation du post processeur.

final void invocationEnded (long elapsedTime)

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

final void invocationFailed ( FailureDescription failure)

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

final void invocationFailed (Throwable cause)

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

void invocationSkipped ( SkipReason reason)

Signale une invocation comme ignorée

final void invocationStarted ( IInvocationContext context)

Écouteurs d'appel pour le transfert

final boolean isDisabled ()

Renvoie True si l'objet entier est désactivé (ignorer la configuration et le démontage).

final void logAssociation (String dataName, LogFile logFile)

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

Met à jour l’association journal-test.

processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs) processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs)

Implémentez cette méthode pour regrouper les métriques et les journaux sur tous les tests.

abstract processRunMetricsAndLogs ( rawMetrics, runLogs) processRunMetricsAndLogs ( rawMetrics, runLogs) processRunMetricsAndLogs ( rawMetrics, runLogs)

Implémentez cette méthode afin de générer un ensemble de nouvelles métriques à partir des métriques et des journaux existants.

processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs)

Implémentez cette méthode pour publier les métriques de processus et les journaux de chaque test.

final void setLogSaver ( ILogSaver logSaver)

Définissez ILogSaver pour permettre à l'implémenteur d'enregistrer des fichiers.

void setUp ()

Remplacez cette méthode dans les post-processeurs enfants pour les initialiser avant l'exécution du test.

final void testAssumptionFailure ( TestDescription test, String trace)

Appelé lorsqu'un test atomique signale qu'il suppose une condition fausse

final void testAssumptionFailure ( TestDescription test, FailureDescription failure)

Appelé lorsqu'un test atomique signale qu'il suppose une condition fausse

final void testEnded ( TestDescription test, long endTime, testMetrics) testEnded ( TestDescription test, long endTime, testMetrics)

Alternative à ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) où nous pouvons spécifier directement l'heure de fin.

final void testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics)

Signale la fin de l’exécution d’un scénario de test individuel.

final void testFailed ( TestDescription test, FailureDescription failure)

Signale l’échec d’un scénario de test individuel.

final void testFailed ( TestDescription test, String trace)

Signale l’échec d’un scénario de test individuel.

final void testIgnored ( TestDescription test)

Appelé lorsqu'un test ne sera pas exécuté, généralement parce qu'une méthode de test est annotée avec org.junit.Ignore.

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

Utilisez cette méthode pour enregistrer un fichier de l’implémentation PostProcessor.

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

Appelé lorsque le journal de test est enregistré.

final void testModuleEnded ()

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

final void testModuleStarted ( IInvocationContext moduleContext)

Signale le début de l'exécution d'un module.

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

Signale la fin du test.

final void testRunFailed ( FailureDescription failure)

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

final void testRunFailed (String errorMessage)

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

final void testRunStarted (String runName, int testCount, int attemptNumber)

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

final void testRunStarted (String runName, int testCount)

Test des rappels d'exécution

final void testRunStarted (String runName, int testCount, int attemptNumber, long startTime)

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

final void testRunStopped (long elapsedTime)

L’exécution du test des rapports s’est arrêtée avant la fin en raison d’une demande de l’utilisateur.

final void testSkipped ( TestDescription test, SkipReason reason)

Appelé lorsqu'un test est ignoré et n'a pas été exécuté pour une raison habituellement inattendue.

final void testStarted ( TestDescription test, long startTime)

Alternative à testStarted(com.android.tradefed.result.TestDescription) où nous spécifions également quand le test a été démarré, combiné avec ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) pour une mesure précise .

final void testStarted ( TestDescription test)

Rappels de cas de test

Méthodes protégées

MetricMeasurement.DataType getMetricType ()

Remplacez cette méthode pour modifier le type de métrique si nécessaire.

String getRunName ()

Constructeurs publics

BasePostProcessor

public BasePostProcessor ()

Méthodes publiques

initialisation

public final ITestInvocationListener init (ITestInvocationListener listener)

Etape d'initialisation du post processeur. Garantit d'être appelé avant tout rappel de test.

Paramètres
listener ITestInvocationListener

Retour
ITestInvocationListener

invocationFin

public final void invocationEnded (long elapsedTime)

Signale que l'appel s'est terminé, 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

échec de l'appel

public final 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 : le FailureDescription décrivant la cause de la panne

échec de l'appel

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

invocationSautée

public void invocationSkipped (SkipReason reason)

Signale une invocation comme ignorée

Paramètres
reason SkipReason

invocationDémarrée

public final void invocationStarted (IInvocationContext context)

Écouteurs d'appel pour le transfert

Paramètres
context IInvocationContext : informations sur l'invocation

est désactivé

public final boolean isDisabled ()

Renvoie True si l'objet entier est désactivé (ignorer la configuration et le démontage). Faux sinon.

Retour
boolean

journalAssociation

public final void logAssociation (String dataName, 
                LogFile logFile)

Dans certains cas, le journal doit être fortement associé à un cas de test, mais il est possible de le faire directement 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 rappel permet de fournir explicitement une association forte.

Met à jour l’association journal-test. Si cette méthode est appelée lors d’un test, alors le log appartient au test ; sinon, ce sera un journal d'exécution.

Paramètres
dataName String : Le nom de la donnée

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

processAllTestMetricsAndLogs

public  processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, 
                 allTestLogs)

Implémentez cette méthode pour regrouper les métriques et les journaux sur tous les tests. Les métriques issues de cette méthode seront rapportées en tant que métriques d'exécution. Seules les métriques nouvellement générées doivent être renvoyées, et avec un nom de clé unique (aucune collision avec les clés existantes n'est autorisée).

Paramètres
allTestMetrics ListMultimap : Un HashMultimap stockant les métriques de chaque test regroupées par noms de métriques.

allTestLogs : Une carte stockant la carte des fichiers journaux de chaque test, saisie par leurs noms de données, en utilisant la TestDescription de chaque test comme clés.

Retour
L'ensemble des métriques nouvellement générées à partir de toutes les métriques de test.

processRunMetricsAndLogs

public abstract  processRunMetricsAndLogs ( rawMetrics, 
                 runLogs)

Implémentez cette méthode afin de générer un ensemble de nouvelles métriques à partir des métriques et des journaux existants. Seules les métriques nouvellement générées doivent être renvoyées, et avec un nom de clé unique (aucune collision avec les clés existantes n'est autorisée).

Paramètres
rawMetrics : l'ensemble des métriques brutes disponibles pour l'exécution.

runLogs : L'ensemble des fichiers journaux pour l'exécution du test.

Retour
L'ensemble des métriques nouvellement générées à partir des métriques d'exécution.

processTestMetricsAndLogs

public  processTestMetricsAndLogs (TestDescription testDescription, 
                 testMetrics, 
                 testLogs)

Implémentez cette méthode pour publier les métriques de processus et les journaux de chaque test. Seules les métriques nouvellement générées doivent être renvoyées, et avec un nom de clé unique (aucune collision avec les clés existantes n'est autorisée).

Paramètres
testDescription TestDescription : L'objet TestDescription décrivant le test.

testMetrics : L'ensemble des métriques du test.

testLogs : L'ensemble des fichiers enregistrés lors du test.

Retour
L'ensemble des métriques nouvellement générées à partir des métriques de test.

setLogSaver

public final void setLogSaver (ILogSaver logSaver)

Définissez ILogSaver pour permettre à l'implémenteur d'enregistrer des fichiers.

Paramètres
logSaver ILogSaver : le ILogSaver

installation

public void setUp ()

Remplacez cette méthode dans les post-processeurs enfants pour les initialiser avant l'exécution du test.

testhypothèseéchec

public final void testAssumptionFailure (TestDescription test, 
                String trace)

Appelé lorsqu'un test atomique signale qu'il suppose une condition fausse

Paramètres
test TestDescription : identifie le test

trace String : trace d'échec de la pile

testhypothèseéchec

public final void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

Appelé lorsqu'un test atomique signale qu'il suppose une condition fausse

Paramètres
test TestDescription : identifie le test

failure FailureDescription : FailureDescription décrivant la panne et son contexte.

testFin

public final void testEnded (TestDescription test, 
                long endTime, 
                 testMetrics)

Alternative à ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) où nous pouvons spécifier directement l'heure de fin. Combinez avec testStarted(com.android.tradefed.result.TestDescription, long) pour une mesure précise.

Paramètres
test TestDescription : identifie le test

endTime long : l'heure de fin du test, mesurée via System.currentTimeMillis()

testMetrics : une ERROR(/Map) des métriques émises

testFin

public final void testEnded (TestDescription test, 
                 testMetrics)

Signale la fin de l’exécution d’un scénario de test individuel.

Si testFailed(TestDescription, FailureDescription) n’a pas été invoqué, ce test a réussi. Renvoie également toutes les métriques clé/valeur qui peuvent avoir été émises lors de l'exécution du scénario de test.

Paramètres
test TestDescription : identifie le test

testMetrics : une ERROR(/Map) des métriques émises

test échoué

public final void testFailed (TestDescription test, 
                FailureDescription failure)

Signale l’échec d’un scénario de test individuel.

Sera appelé entre testStarted et testEnded.

Paramètres
test TestDescription : identifie le test

failure FailureDescription : FailureDescription décrivant la panne et son contexte.

test échoué

public final void testFailed (TestDescription test, 
                String trace)

Signale l’échec d’un scénario de test individuel.

Sera appelé entre testStarted et testEnded.

Paramètres
test TestDescription : identifie le test

trace String : trace d'échec de la pile

testIgnoré

public final void testIgnored (TestDescription test)

Appelé lorsqu'un test ne sera pas exécuté, généralement parce qu'une méthode de test est annotée avec org.junit.Ignore.

Paramètres
test TestDescription : identifie le test

journal de test

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

Utilisez cette méthode pour enregistrer un fichier de l’implémentation PostProcessor.

Paramètres
dataName String : un nom descriptif de String 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 nom de données

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 veiller à 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’à la fin de la méthode testLog.

testLogSaved

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

Appelé lorsque le journal de test est enregistré.

Doit être utilisé à la place de ITestInvocationListener#testLog(String, LogDataType, InputStreamSource) .

Paramètres
dataName String : un nom descriptif de String 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 nom de données

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 veiller à fermer le InputStream résultant une fois terminé.

logFile LogFile : le LogFile contenant les métadonnées du fichier enregistré.

testModuleFin

public final void testModuleEnded ()

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

testModuleDémarré

public final void testModuleStarted (IInvocationContext moduleContext)

Signale le début de l'exécution d'un module. 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 : des coureurs basés sur une suite.

Paramètres
moduleContext IInvocationContext : le IInvocationContext du module.

testRunEnded

public final void testRunEnded (long elapsedTime, 
                 runMetrics)

Signale la fin 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 : l'appareil a signalé le temps écoulé, en millisecondes

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

testRunFailed

public final void testRunFailed (FailureDescription failure)

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

Paramètres
failure FailureDescription : FailureDescription décrivant la panne et son contexte.

testRunFailed

public final void testRunFailed (String errorMessage)

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

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

testRunStarted

public final void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber)

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

Paramètres
runName String : le nom du test

testCount int : nombre total de tests en cours de test

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

testRunStarted

public final void testRunStarted (String runName, 
                int testCount)

Test des rappels d'exécution

Paramètres
runName String : le nom du test

testCount int : nombre total de tests en cours de test

testRunStarted

public final void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

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

Paramètres
runName String : le nom du test

testCount int : nombre total de tests en cours de test

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

startTime long : l'heure de démarrage de l'exécution, mesurée via System.currentTimeMillis()

testRunStopped

public final void testRunStopped (long elapsedTime)

L’exécution du test des rapports s’est arrêtée avant la fin en raison d’une demande de l’utilisateur.

TODO : actuellement inutilisé, pensez à le supprimer

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

testSauté

public final void testSkipped (TestDescription test, 
                SkipReason reason)

Appelé lorsqu'un test est ignoré et n'a pas été exécuté pour une raison habituellement inattendue. Ces tests seront tentés à nouveau pour tenter d'obtenir une exécution correcte.

Paramètres
test TestDescription : identifie le test

reason SkipReason : SkipReason

testDémarré

public final void testStarted (TestDescription test, 
                long startTime)

Alternative à testStarted(com.android.tradefed.result.TestDescription) où nous spécifions également quand le test a été démarré, combiné avec ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) pour une mesure précise .

Paramètres
test TestDescription : identifie le test

startTime long : l'heure de démarrage du test, mesurée via System.currentTimeMillis()

testDémarré

public final void testStarted (TestDescription test)

Rappels de cas de test

Paramètres
test TestDescription : identifie le test

Méthodes protégées

getMetricType

protected MetricMeasurement.DataType getMetricType ()

Remplacez cette méthode pour modifier le type de métrique si nécessaire. Par défaut, la métrique est définie sur le type traité.

Retour
MetricMeasurement.DataType

getRunName

protected String getRunName ()

Retour
String