ResultDBReporter

public class ResultDBReporter
extends Object implements IConfigurationReceiver, ILogSaverListener, ISupportGranularResults, ITestSummaryListener

java.lang.Object
   ↳ com.android.tradefed.result.resultdb.ResultDBReporter


Reporter de résultats qui importe les résultats des tests dans ResultDB.

Résumé

Champs

protected IInvocationContext mContext

protected boolean mEnableAlTestProperties

Constructeurs publics

ResultDBReporter()

Méthodes publiques

TestSummary getSummary()

Permet à InvocationListener de renvoyer un récapitulatif.

void invocationEnded(long elapsedTime)

Indique 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 invocationSkipped(SkipReason reason)

Signale une invocation comme ignorée

void invocationStarted(IInvocationContext context)

Indique le début de l'appel de test.

boolean isDisabled()
void logAssociation(String dataName, LogFile logFile)

Dans certains cas, le journal doit être fortement associé à des cas de test, mais il n'est pas possible de le faire sur le rappel testLogSaved(String,LogDataType,InputStreamSource,LogFile) direct.

void setConfiguration(IConfiguration configuration)

Injecte le IConfiguration en cours d'utilisation.

void setLogSaver(ILogSaver logSaver)

Définissez ILogSaver pour permettre à l'intégrateur d'enregistrer des fichiers.

boolean supportGranularResults()

Renvoie "True" si le rapporteur accepte les résultats précis, ou "False" dans le cas contraire.

void testAssumptionFailure(TestDescription test, String trace)

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

void testAssumptionFailure(TestDescription test, FailureDescription failure)

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

void testEnded(TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)

Alternative à testEnded(TestDescription,Map) où nous pouvons spécifier directement l'heure de fin.

void testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)

Indique la fin de l'exécution d'un cas de test individuel.

void testFailed(TestDescription test, FailureDescription failure)

Signalement de l'échec d'un cas de test individuel.

void testFailed(TestDescription test, String trace)

Signalement de l'échec d'un cas de test individuel.

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.

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

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

void testModuleEnded()

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

void testModuleStarted(IInvocationContext moduleContext)

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

void testRunEnded(long elapsedTimeMillis, HashMap<String, MetricMeasurement.Metric> runMetrics)

Rapports de fin de série de tests.

void testRunFailed(FailureDescription failure)

L'exécution du test des rapports n'a pas pu être effectuée en raison d'un échec décrit par FailureDescription.

void testRunFailed(String errorMessage)

L'exécution du test des rapports n'a pas pu être effectuée en raison d'une erreur fatale.

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

Indique le début d'un test.

void testRunStarted(String runName, int testCount)

Indique le début d'un test.

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

Indique le début d'un test.

void testRunStopped(long elapsedTime)

Indique que l'exécution du test a été arrêtée avant la fin à la demande de l'utilisateur.

void testSkipped(TestDescription test, SkipReason reason)

Appelé lorsqu'un test est ignoré et ne s'est pas exécuté pour une raison généralement inattendue.

void testStarted(TestDescription test, long startTime)

Alternative à testStarted(TestDescription) où nous spécifions également la date de début du test, combinée à testEnded(TestDescription,long,Map) pour une mesure précise.

void testStarted(TestDescription test)

Indique le début d'un scénario de test individuel.

void uploadStoragePath(String resourceId, String storagePath, LogFile logFile)

Importe le chemin de stockage d'un artefact de test AnTS dans ResultDB.

Champs

mContext

protected IInvocationContext mContext

mEnableAlTestProperties

protected boolean mEnableAlTestProperties

Constructeurs publics

ResultDBReporter

public ResultDBReporter ()

Méthodes publiques

getSummary

public TestSummary getSummary ()

Permet à InvocationListener de renvoyer un récapitulatif.

Renvoie
TestSummary TestSummary résumant l'exécution, ou null

invocationEnded

public void invocationEnded (long elapsedTime)

Indique 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 : temps écoulé de l'appel 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 : 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 : cause Throwable de l'échec

invocationSkipped

public void invocationSkipped (SkipReason reason)

Signale une invocation comme ignorée

Paramètres
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

Indique le début de l'appel de test.

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

Paramètres
context IInvocationContext : informations sur l'appel

isDisabled

public boolean isDisabled ()

Renvoie
boolean

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

Dans certains cas, le journal doit être fortement associé à des cas de test, mais il n'est pas possible de le faire sur le rappel testLogSaved(String,LogDataType,InputStreamSource,LogFile) direct. Ce rappel permet donc de fournir explicitement une association forte.

Paramètres
dataName String : nom des données

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

setConfiguration

public void setConfiguration (IConfiguration configuration)

Injecte le IConfiguration en cours d'utilisation.

Paramètres
configuration IConfiguration

setLogSaver

public void setLogSaver (ILogSaver logSaver)

Définissez ILogSaver pour permettre à l'intégrateur d'enregistrer des fichiers.

Paramètres
logSaver ILogSaver : ILogSaver

supportGranularResults

public boolean supportGranularResults ()

Renvoie "True" si le rapporteur accepte les résultats précis, ou "False" dans le cas contraire.

Renvoie
boolean

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

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

Paramètres
test TestDescription : identifie le test

trace String : trace de la pile d'échec

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

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

Paramètres
test TestDescription : identifie le test

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

testEnded

public void testEnded (TestDescription test, 
                long endTime, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

Alternative à testEnded(TestDescription,Map) où nous pouvons spécifier directement l'heure de fin. Combinez-le avec testStarted(TestDescription,long) pour obtenir une mesure précise.

Paramètres
test TestDescription : identifie le test

endTime long : heure à laquelle le test s'est terminé, mesurée via System.currentTimeMillis()

testMetrics HashMap : Map des métriques émises.

testEnded

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

Indique la fin de l'exécution d'un cas de test individuel.

Si testFailed(TestDescription, FailureDescription) n'a pas été appelé, ce test a réussi. Renvoie également toutes les métriques clé/valeur qui ont pu être émises lors de l'exécution du cas de test.

Paramètres
test TestDescription : identifie le test

testMetrics HashMap : Map des métriques émises.

testFailed

public void testFailed (TestDescription test, 
                FailureDescription failure)

Signalement de l'échec d'un cas 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.

testFailed

public void testFailed (TestDescription test, 
                String trace)

Signalement de l'échec d'un cas de test individuel.

Sera appelé entre testStarted et testEnded.

Paramètres
test TestDescription : identifie le test

trace String : trace de la pile d'échec

testIgnored

public 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 void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

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

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

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

Paramètres
dataName String : nom descriptif String des données, par exemple "device_logcat". Remarque : dataName peut ne pas être unique par invocation. Autrement dit, les implémenteurs doivent pouvoir gérer plusieurs appels avec le même dataName.

dataType LogDataType : LogDataType des données

dataStream InputStreamSource : InputStreamSource des données. Les développeurs doivent appeler createInputStream pour commencer à lire les données et s'assurer de fermer l'InputStream résultant une fois l'opération terminée. Les appelants doivent s'assurer que la source des données reste présente et accessible jusqu'à ce que la méthode testLog soit terminée.

testModuleEnded

public void testModuleEnded ()

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

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Indique 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 : les runners basés sur des suites.

Paramètres
moduleContext IInvocationContext : IInvocationContext du module.

testRunEnded

public void testRunEnded (long elapsedTimeMillis, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Rapports de fin de série de tests. FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

Paramètres
elapsedTimeMillis long : temps écoulé indiqué par l'appareil, en millisecondes

runMetrics HashMap : paires clé-valeur signalées à la fin d'une série de tests avec Metric.

testRunFailed

public void testRunFailed (FailureDescription failure)

L'exécution du test des rapports n'a pas pu être effectuée 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 errorMessage)

L'exécution du test des rapports n'a pas pu être effectuée en raison d'une erreur fatale.

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

testRunStarted

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

Indique le début d'un test.

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

testCount int : nombre total de tests dans l'exécution du test

attemptNumber int : numéro de commande, identifiant les différentes tentatives du même runName qui s'exécutent plusieurs fois. Le numéro de tentative est indexé sur 0 et doit être incrémenté à chaque nouvelle exécution. Par exemple, si un test est retenté de manière précise trois fois, il doit comporter quatre exécutions au total sous le même runName, et le numéro de tentative doit être compris entre 0 et 3.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Indique le début d'un test.

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

testCount int : nombre total de tests dans l'exécution du test

testRunStarted

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

Indique le début d'un test.

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

testCount int : nombre total de tests dans l'exécution du test

attemptNumber int : numéro de commande, identifiant les différentes tentatives du même runName qui s'exécutent plusieurs fois. Le numéro de tentative est indexé sur 0 et doit être incrémenté à chaque nouvelle exécution. Par exemple, si un test est retenté de manière précise trois fois, il doit comporter quatre exécutions au total sous le même runName, et le numéro de tentative doit être compris entre 0 et 3.

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

testRunStopped

public void testRunStopped (long elapsedTime)

Indique que l'exécution du test a été arrêtée avant la fin à la demande de l'utilisateur.

TODO: currently unused, consider removing

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

testSkipped

public void testSkipped (TestDescription test, 
                SkipReason reason)

Appelé lorsqu'un test est ignoré et ne s'est pas exécuté pour une raison généralement inattendue. Nous allons tenter de relancer ces tests pour essayer de les exécuter correctement.

Paramètres
test TestDescription : identifie le test

reason SkipReason : SkipReason

testStarted

public void testStarted (TestDescription test, 
                long startTime)

Alternative à testStarted(TestDescription) où nous spécifions également la date de début du test, combinée à testEnded(TestDescription,long,Map) pour une mesure précise.

Paramètres
test TestDescription : identifie le test

startTime long : heure à laquelle le test a commencé, mesurée via System.currentTimeMillis()

testStarted

public void testStarted (TestDescription test)

Indique le début d'un scénario de test individuel. Ancienne interface. Utilisez testStarted(TestDescription) autant que possible.

Paramètres
test TestDescription : identifie le test

uploadStoragePath

public void uploadStoragePath (String resourceId, 
                String storagePath, 
                LogFile logFile)

Importe le chemin de stockage d'un artefact de test AnTS dans ResultDB.

Il s'agit d'une solution temporaire pour la migration d'AnTS vers ResultDB (voir go/convergence-tr). Cette méthode doit être appelée par le rapporteur AnTS lorsqu'un chemin de stockage d'artefact devient disponible.

Le rapporteur AnTS garantit qu'il appellera cette méthode pour chaque artefact qu'il importe. Ce rapporteur, à son tour, importera tous ces artefacts dans ResultDB avec la bonne association de test. Pour que l'association des journaux soit correcte,il est nécessaire que logAssociation(String,LogFile) ait été appelé pour le même ID de ressource auparavant. Cela garantit que l'artefact est déjà suivi. Sinon, l'artefact sera associé à l'unité de travail de premier niveau de l'appel Tradefed.

Cette méthode ne doit pas être appelée avant invocationStarted(IInvocationContext). Il peut être appelé après invocationEnded(long) pour les appels gérés par un système en amont, car ils ne sont pas finalisés par ce rapporteur. Cela ne s'applique pas aux appels créés localement, qui sont finalisés dans invocationEnded(long).

TODO(b/464941055): Remove this method once we can properly migrate AnTS artifacts to ResultDB.

Paramètres
resourceId String : ID de ressource de l'artefact.

storagePath String : chemin d'accès au stockage de l'artefact (par exemple, un chemin d'accès /bigstore/).

logFile LogFile : objet LogFile associé à l'artefact.