BasePostProcessorBasePostProcessor

public abstract class BasePostProcessor
extends Object implements IPostProcessor

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


Le IPostProcessor de base que chaque implémentation doit étendre. Assurez-vous que les méthodes de post-traitement sont appelées avant les reporters de résultat final.

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'invocation s'est terminée, 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.

final void invocationStarted ( IInvocationContext context)

Écouteurs d'invocation pour le transfert

final boolean isDisabled ()

Renvoie True si l'objet entier est désactivé (ignorez à la fois l'installation 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 la possibilité de le faire sur le rappel direct testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) 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 agréger les métriques et les journaux de 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 traitement 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 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 consigner un fichier à partir de l'implémentation du 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 d'un module en cours d'exécution.

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

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

final void testRunFailed ( FailureDescription failure)

L'exécution du test de 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)

Tester les 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 testStarted ( TestDescription test, long startTime)

Alternative à testStarted(com.android.tradefed.result.TestDescription) où nous spécifions également quand le test a été lancé, 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

BasePostProcessorBasePostProcessor

public BasePostProcessor ()

Méthodes publiques

initialiser

public final ITestInvocationListener init (ITestInvocationListener listener)

Etape d'initialisation du post processeur. Garanti d'être appelé avant l'un des rappels de tests.

Paramètres
listener ITestInvocationListener

Retour
ITestInvocationListener

invocationEnded

public final 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 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 : la FailureDescription décrivant la cause de l'échec

invocationFailed

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

invocationStarted

public final void invocationStarted (IInvocationContext context)

Écouteurs d'invocation 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é (ignorez à la fois l'installation et le démontage). Faux sinon.

Retour
boolean

logAssociation

public final 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 rappel direct testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) n'est pas possible. Ainsi, ce callback 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 journal appartient au test ; sinon ce sera un journal d'exécution.

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.

processAllTestMetricsAndLogs

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

Implémentez cette méthode pour agréger les métriques et les journaux de 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 des 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 de chaque test des fichiers journaux indexés par leurs noms de données, en utilisant la TestDescription de chaque test comme clés.

Retour
Ensemble de métriques nouvellement générées à partir de toutes les métriques de test.

processRunMetricsAndLogsprocessRunMetricsAndLogs

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 des clés existantes n'est autorisée).

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

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

Retour
Ensemble de 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 traitement 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 des 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 pendant le test.

Retour
Ensemble de 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 : l' ILogSaver

installation

public void setUp ()

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

testAssumptionFailuretestAssumptionFailure

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 de pile de l'échec

testAssumptionFailuretestAssumptionFailure

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 l'échec et son contexte.

testEnded

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 à laquelle le test s'est terminé, mesurée via System.currentTimeMillis()

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

testEnded

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é appelé, ce test a réussi. Renvoie également toute métrique clé/valeur qui peut avoir été émise lors de l'exécution du cas 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 l'échec 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 de pile de l'échec

testIgnored

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

testLog

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

Utilisez cette méthode pour consigner un fichier à partir de l'implémentation du PostProcessor.

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

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

testModuleEnded

public final void testModuleEnded ()

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

testModuleStarted

public final 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 final 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 final 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 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 de l'exécution du test

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

testRunStarted

public final void testRunStarted (String runName, 
                int testCount)

Tester les rappels d'exécution

Paramètres
runName String : le nom de l'exécution 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 de l'exécution du test

testCount 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()

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

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

testStarted

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é lancé, 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 à laquelle le test a commencé, mesurée via System.currentTimeMillis()

testStarted

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