BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.BugreportCollector


ITestInvocationListener intermédiaire qui collecte les rapports de bug lorsque des événements configurables se produisent, puis appelle ITestInvocationListener.testLog sur ses enfants après chaque rapport de bug collecté.

Comportements : (FIXME: finish this)

  • Capture après chaque échec de scénario de test
  • Capture après chaque cas de test
  • Capture après chaque cas de test ayant échoué
  • Capturer

Résumé

Classes imbriquées

class BugreportCollector.Predicate

Prédicat complet décrivant quand capturer un rapport de bug. 

interface BugreportCollector.SubPredicate

 

Champs

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Prédicat prédéfini qui se déclenche après chaque cas de test ayant échoué

public static final BugreportCollector.Predicate AT_START

Prédicat prédéfini qui se déclenche au début de la première invocation

Constructeurs publics

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Méthodes publiques

void addPredicate(BugreportCollector.Predicate p)
void blockUntilIdle()

Bloquer jusqu'à ce que le collecteur ne collecte plus de rapports de bug.

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(Throwable cause)

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

void invocationStarted(IInvocationContext context)

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

void setAsynchronous(boolean asynchronous)

Indiquez si la collecte du rapport de bug doit s'effectuer dans un thread différent (asynchronous = true) ou bloquer l'appelant jusqu'à ce que le rapport de bug soit capturé (asynchronous = false).

void setDescriptiveName(String name)

Définissez le nom descriptif à utiliser lors de l'enregistrement des rapports de bug.

void setDeviceWaitTime(int waitTime)

Définissez le temps (en secondes) pendant lequel attendre que l'appareil soit en ligne avant de tenter de capturer un rapport de bug.

void testAssumptionFailure(TestDescription test, String trace)

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

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, 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 testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

Rapports de fin de série de tests.

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)

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 testStarted(TestDescription test)

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

Champs

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Prédicat prédéfini qui se déclenche après chaque cas de test ayant échoué

AT_START

public static final BugreportCollector.Predicate AT_START

Prédicat prédéfini qui se déclenche au début de la première invocation

Constructeurs publics

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Paramètres
listener ITestInvocationListener

testDevice ITestDevice

Méthodes publiques

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Paramètres
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Bloquer jusqu'à ce que le collecteur ne collecte plus de rapports de bug. Si le collecteur ne collecte pas activement un rapport de bug, renvoyez immédiatement

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

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

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Indiquez si la collecte de rapports de bug doit s'effectuer dans un autre thread (asynchronous = true) ou bloquer l'appelant jusqu'à ce que le rapport de bug soit capturé (asynchronous = false).

Paramètres
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Définissez le nom descriptif à utiliser lors de l'enregistrement des rapports de bug. Si null, BugreportCollector reviendra au comportement par défaut de sérialisation du nom de l'événement qui a entraîné la collecte du rapport de bug.

Paramètres
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Définissez le temps (en secondes) pendant lequel attendre que l'appareil soit en ligne avant de tenter de capturer un rapport de bug. Si la valeur est négative, aucune vérification ne sera effectuée. Toute DeviceNotAvailableException rencontrée lors de cette vérification sera consignée et ignorée.

Paramètres
waitTime int

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

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

testRunEnded

public void testRunEnded (long elapsedTime, 
                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
elapsedTime 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 (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)

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

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

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