BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


Ein Pass-Through-ITestInvocationListener, das Fehlerberichte erfasst, wenn konfigurierbare Ereignisse auftreten, und dann ITestInvocationListener.testLog für seine untergeordneten Elemente aufruft, nachdem jeder Fehlerbericht erfasst wurde.

Verhalten: (FIXME: finish this)

  • Nach jedem Testlauf erfassen, wenn Testläufe fehlgeschlagen sind
  • Nach jedem Testlauf aufzeichnen
  • Nach jedem fehlgeschlagenen Testlauf aufzeichnen
  • Aufnehmen

Zusammenfassung

Verschachtelte Klassen

class BugreportCollector.Predicate

Ein vollständiges Prädikat, das beschreibt, wann ein Fehlerbericht erfasst werden soll. 

interface BugreportCollector.SubPredicate

 

Felder

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Ein vordefiniertes Prädikat, das nach jedem fehlgeschlagenen Testlauf ausgelöst wird

public static final BugreportCollector.Predicate AT_START

Ein vordefiniertes Prädikat, das ausgelöst wird, wenn der erste Aufruf beginnt

Öffentliche Konstruktoren

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Öffentliche Methoden

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

Blockieren, bis der Collector keine Fehlerberichte mehr erfasst.

TestSummary getSummary()

Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben.

void invocationEnded(long elapsedTime)

Gibt an, dass der Aufruf beendet wurde, entweder erfolgreich oder aufgrund eines Fehlerzustands.

void invocationFailed(Throwable cause)

Meldet einen unvollständigen Aufruf aufgrund eines Fehlerzustands.

void invocationStarted(IInvocationContext context)

Meldet den Beginn des Testaufrufs.

void setAsynchronous(boolean asynchronous)

Legen Sie fest, ob der Fehlerbericht in einem anderen Thread erfasst werden soll (asynchronous = true) oder ob der Anrufer blockiert werden soll, bis der Fehlerbericht erfasst wurde (asynchronous = false).

void setDescriptiveName(String name)

Legen Sie den beschreibenden Namen fest, der beim Aufzeichnen von Fehlerberichten verwendet werden soll.

void setDeviceWaitTime(int waitTime)

Legen Sie die Zeit in Sekunden fest, die gewartet werden soll, bis das Gerät online ist, bevor wir versuchen, einen Fehlerbericht zu erfassen.

void testAssumptionFailure(TestDescription test, String trace)

Wird aufgerufen, wenn ein atomarer Test meldet, dass er eine Bedingung voraussetzt, die nicht erfüllt ist.

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

Meldet das Ende der Ausführung eines einzelnen Testlaufs.

void testFailed(TestDescription test, String trace)

Meldet das Fehlschlagen eines einzelnen Testlaufs.

void testIgnored(TestDescription test)

Wird aufgerufen, wenn ein Test nicht ausgeführt wird, in der Regel, weil eine Testmethode mit „org.junit.Ignore“ annotiert ist.

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

Stellt die zugehörigen Protokoll- oder Debugging-Daten aus dem Testaufruf bereit.

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

Meldet das Ende des Testlaufs.

void testRunFailed(String errorMessage)

Der Testlauf für Berichte konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.

void testRunStarted(String runName, int testCount)

Meldet den Beginn eines Testlaufs.

void testRunStopped(long elapsedTime)

Der Testlauf für Berichte wurde aufgrund einer Nutzeranfrage vor dem Abschluss beendet.

void testStarted(TestDescription test)

Meldet den Beginn eines einzelnen Testlaufs.

Felder

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Ein vordefiniertes Prädikat, das nach jedem fehlgeschlagenen Testlauf ausgelöst wird

AT_START

public static final BugreportCollector.Predicate AT_START

Ein vordefiniertes Prädikat, das ausgelöst wird, wenn der erste Aufruf beginnt

Öffentliche Konstruktoren

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parameter
listener ITestInvocationListener

testDevice ITestDevice

Öffentliche Methoden

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Parameter
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Blockieren, bis der Collector keine Fehlerberichte mehr erfasst. Wenn der Collector keinen Fehlerbericht erfasst, kehren Sie sofort zurück.

getSummary

public TestSummary getSummary ()

Ermöglicht dem InvocationListener, eine Zusammenfassung zurückzugeben.

Gibt Folgendes zurück:
TestSummary Eine TestSummary, die den Lauf zusammenfasst, oder „null“

invocationEnded

public void invocationEnded (long elapsedTime)

Gibt an, dass der Aufruf beendet wurde, entweder erfolgreich oder aufgrund eines Fehlerzustands.

Wird automatisch vom TradeFederation-Framework aufgerufen.

Parameter
elapsedTime long: die verstrichene Zeit des Aufrufs in Millisekunden

invocationFailed

public void invocationFailed (Throwable cause)

Meldet einen unvollständigen Aufruf aufgrund eines Fehlerzustands.

Wird automatisch vom TradeFederation-Framework aufgerufen.

Parameter
cause Throwable: die Throwable-Ursache des Fehlers

invocationStarted

public void invocationStarted (IInvocationContext context)

Meldet den Beginn des Testaufrufs.

Wird automatisch vom TradeFederation-Framework aufgerufen. Reporter müssen diese Methode überschreiben, um die Berichterstellung für mehrere Geräte zu unterstützen.

Parameter
context IInvocationContext: Informationen zum Aufruf

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Legen Sie fest, ob der Fehlerbericht in einem anderen Thread erfasst werden soll (asynchronous = true) oder ob der Anrufer blockiert werden soll, bis der Fehlerbericht erfasst wurde (asynchronous = false).

Parameter
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Legen Sie den beschreibenden Namen fest, der beim Aufzeichnen von Fehlerberichten verwendet werden soll. Wenn null, wird für BugreportCollector das Standardverhalten verwendet, bei dem der Name des Ereignisses serialisiert wird, das das Erfassen des Fehlerberichts ausgelöst hat.

Parameter
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Legen Sie die Zeit in Sekunden fest, die gewartet werden soll, bis das Gerät online ist, bevor wir versuchen, einen Fehlerbericht zu erfassen. Wenn der Wert negativ ist, wird keine Prüfung durchgeführt. Alle DeviceNotAvailableException, die bei dieser Prüfung gefunden werden, werden protokolliert und ignoriert.

Parameter
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Wird aufgerufen, wenn ein atomarer Test meldet, dass er eine Bedingung voraussetzt, die nicht erfüllt ist.

Parameter
test TestDescription: Gibt den Test an.

trace String: Stacktrace des Fehlers

testEnded

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

Meldet das Ende der Ausführung eines einzelnen Testlaufs.

Wenn testFailed(TestDescription, FailureDescription) nicht aufgerufen wurde, wurde dieser Test bestanden. Gibt auch alle Schlüssel/Wert-Messwerte zurück, die während der Ausführung des Testlaufs ausgegeben wurden.

Parameter
test TestDescription: Gibt den Test an.

testMetrics HashMap: Map der ausgegebenen Messwerte

testFailed

public void testFailed (TestDescription test, 
                String trace)

Meldet das Fehlschlagen eines einzelnen Testlaufs.

Wird zwischen „testStarted“ und „testEnded“ aufgerufen.

Parameter
test TestDescription: Gibt den Test an.

trace String: Stacktrace des Fehlers

testIgnored

public void testIgnored (TestDescription test)

Wird aufgerufen, wenn ein Test nicht ausgeführt wird, in der Regel, weil eine Testmethode mit „org.junit.Ignore“ annotiert ist.

Parameter
test TestDescription: Gibt den Test an.

testLog

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

Stellt die zugehörigen Protokoll- oder Debugging-Daten aus dem Testaufruf bereit.

Muss vor ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) oder ERROR(/ITestInvocationListener#invocationEnded(long)) aufgerufen werden

Das TradeFederation-Framework ruft diese Methode automatisch auf und stellt das Host-Log und gegebenenfalls das Geräte-Logcat bereit.

Parameter
dataName String: Ein String aussagekräftiger Name der Daten, z. B. „device_logcat“. Hinweis: dataName ist möglicherweise nicht pro Aufruf eindeutig. Implementierer müssen also mehrere Aufrufe mit demselben dataName verarbeiten können.

dataType LogDataType: die LogDataType der Daten

dataStream InputStreamSource: die InputStreamSource der Daten. Implementierer sollten createInputStream aufrufen, um mit dem Lesen der Daten zu beginnen, und den resultierenden InputStream schließen, wenn sie fertig sind. Anrufer sollten dafür sorgen, dass die Datenquelle bis zum Abschluss der Methode „testLog“ vorhanden und zugänglich bleibt.

testRunEnded

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

Meldet das Ende des Testlaufs. FIXME: Wir können nicht zwei Map<>-Schnittstellen mit unterschiedlichen Typen haben, daher müssen wir hier HashMap verwenden.

Parameter
elapsedTime long: Die vom Gerät gemeldete verstrichene Zeit in Millisekunden.

runMetrics HashMap: Schlüssel/Wert-Paare, die am Ende eines Testlaufs mit Metric gemeldet werden.

testRunFailed

public void testRunFailed (String errorMessage)

Der Testlauf für Berichte konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.

Parameter
errorMessage String: String, in dem der Grund für den Fehler bei der Ausführung beschrieben wird.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

Meldet den Beginn eines Testlaufs.

Parameter
runName String: der Name des Testlaufs

testCount int: Gesamtzahl der Tests im Testlauf

testRunStopped

public void testRunStopped (long elapsedTime)

Der Testlauf für Berichte wurde aufgrund einer Nutzeranfrage vor dem Abschluss beendet.

TODO: currently unused, consider removing

Parameter
elapsedTime long: Die vom Gerät gemeldete verstrichene Zeit in Millisekunden.

testStarted

public void testStarted (TestDescription test)

Meldet den Beginn eines einzelnen Testlaufs. Ältere Schnittstelle. Verwenden Sie nach Möglichkeit testStarted(TestDescription).

Parameter
test TestDescription: Gibt den Test an.