ResultDBReporter

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

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


Ein Tool, das Testergebnisse in ResultDB hochlädt.

Zusammenfassung

Felder

protected IInvocationContext mContext

protected boolean mEnableAlTestProperties

Öffentliche Konstruktoren

ResultDBReporter()

Öffentliche Methoden

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(FailureDescription failure)

Meldet einen unvollständigen Aufruf aufgrund eines Fehlerzustands.

void invocationFailed(Throwable cause)

Meldet einen unvollständigen Aufruf aufgrund eines Fehlerzustands.

void invocationSkipped(SkipReason reason)

Meldet einen Aufruf als übersprungen

void invocationStarted(IInvocationContext context)

Meldet den Beginn des Testaufrufs.

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

In einigen Fällen muss das Log eng mit einem Testlauf verknüpft sein, aber die Möglichkeit dazu besteht beim direkten testLogSaved(String,LogDataType,InputStreamSource,LogFile)-Callback nicht.

void setConfiguration(IConfiguration configuration)

Fügt die verwendete IConfiguration ein.

void setLogSaver(ILogSaver logSaver)

Legen Sie ILogSaver fest, damit der Implementierer Dateien speichern kann.

boolean supportGranularResults()

Gibt „True“ zurück, wenn der Bericht detaillierte Ergebnisse unterstützt, andernfalls „False“.

void testAssumptionFailure(TestDescription test, String trace)

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

void testAssumptionFailure(TestDescription test, FailureDescription failure)

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

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

Alternative zu testEnded(TestDescription,Map), mit der wir die Endzeit direkt angeben können.

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

Meldet das Ende der Ausführung eines einzelnen Testlaufs.

void testFailed(TestDescription test, FailureDescription failure)

Meldet das Fehlschlagen 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 testModuleEnded()

Meldet das Ende einer Modulausführung.

void testModuleStarted(IInvocationContext moduleContext)

Meldet den Beginn der Ausführung eines Moduls.

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

Meldet das Ende des Testlaufs.

void testRunFailed(FailureDescription failure)

Der Testlauf für Berichte konnte aufgrund eines Fehlers, der durch FailureDescription beschrieben wird, nicht abgeschlossen werden.

void testRunFailed(String errorMessage)

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

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

Meldet den Beginn eines Testlaufs.

void testRunStarted(String runName, int testCount)

Meldet den Beginn eines Testlaufs.

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

Meldet den Beginn eines Testlaufs.

void testRunStopped(long elapsedTime)

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

void testSkipped(TestDescription test, SkipReason reason)

Wird aufgerufen, wenn ein Test übersprungen wurde und aus einem Grund nicht ausgeführt wurde, der normalerweise nicht erwartet wird.

void testStarted(TestDescription test, long startTime)

Alternative zu testStarted(TestDescription), bei der wir auch angeben, wann der Test gestartet wurde, in Kombination mit testEnded(TestDescription,long,Map) für eine genaue Messung.

void testStarted(TestDescription test)

Meldet den Beginn eines einzelnen Testlaufs.

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

Lädt den Speicherpfad eines AnTS-Testartefakts in ResultDB hoch.

Felder

mContext

protected IInvocationContext mContext

mEnableAlTestProperties

protected boolean mEnableAlTestProperties

Öffentliche Konstruktoren

ResultDBReporter

public ResultDBReporter ()

Öffentliche Methoden

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 (FailureDescription failure)

Meldet einen unvollständigen Aufruf aufgrund eines Fehlerzustands.

Wird automatisch vom TradeFederation-Framework aufgerufen.

Parameter
failure FailureDescription: die FailureDescription, in der die Ursache des Fehlers beschrieben wird

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

invocationSkipped

public void invocationSkipped (SkipReason reason)

Meldet einen Aufruf als übersprungen

Parameter
reason SkipReason

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

isDisabled

public boolean isDisabled ()

Gibt Folgendes zurück:
boolean

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

In einigen Fällen muss das Log eng mit einem Testlauf verknüpft sein, aber die Möglichkeit dazu besteht beim direkten testLogSaved(String,LogDataType,InputStreamSource,LogFile)-Callback nicht. Mit diesem Callback kann also explizit eine starke Zuordnung angegeben werden.

Parameter
dataName String: Der Name der Daten

logFile LogFile: Die LogFile, die zuvor protokolliert wurde und dem Testlauf zugeordnet werden soll.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Fügt die verwendete IConfiguration ein.

Parameter
configuration IConfiguration

setLogSaver

public void setLogSaver (ILogSaver logSaver)

Legen Sie ILogSaver fest, damit der Implementierer Dateien speichern kann.

Parameter
logSaver ILogSaver: Der ILogSaver

supportGranularResults

public boolean supportGranularResults ()

Gibt „True“ zurück, wenn der Bericht detaillierte Ergebnisse unterstützt, andernfalls „False“.

Gibt Folgendes zurück:
boolean

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

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

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

Parameter
test TestDescription: Gibt den Test an.

failure FailureDescription: FailureDescription, in dem der Fehler und sein Kontext beschrieben werden.

testEnded

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

Alternative zu testEnded(TestDescription,Map), mit der wir die Endzeit direkt angeben können. Kombinieren Sie sie mit testStarted(TestDescription,long), um genaue Ergebnisse zu erhalten.

Parameter
test TestDescription: Gibt den Test an.

endTime long: Die Uhrzeit, zu der der Test beendet wurde, gemessen über System.currentTimeMillis()

testMetrics HashMap: Map der ausgegebenen Messwerte

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, 
                FailureDescription failure)

Meldet das Fehlschlagen eines einzelnen Testlaufs.

Wird zwischen „testStarted“ und „testEnded“ aufgerufen.

Parameter
test TestDescription: Gibt den Test an.

failure FailureDescription: FailureDescription, in dem der Fehler und sein Kontext beschrieben werden.

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.

testModuleEnded

public void testModuleEnded ()

Meldet das Ende einer Modulausführung.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Meldet den Beginn der Ausführung eines Moduls. Dieser Callback ist mit testModuleEnded() verknüpft und in der Sequenz optional. Es wird nur bei einem Lauf verwendet, bei dem Module verwendet werden: Suite-basierte Runner.

Parameter
moduleContext IInvocationContext: Die IInvocationContext des Moduls.

testRunEnded

public void testRunEnded (long elapsedTimeMillis, 
                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
elapsedTimeMillis 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 (FailureDescription failure)

Der Testlauf für Berichte konnte aufgrund eines Fehlers, der durch FailureDescription beschrieben wird, nicht abgeschlossen werden.

Parameter
failure FailureDescription: FailureDescription, in dem der Fehler und sein Kontext beschrieben 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, 
                int attemptNumber)

Meldet den Beginn eines Testlaufs.

Parameter
runName String: der Name des Testlaufs

testCount int: Gesamtzahl der Tests im Testlauf

attemptNumber int: Auftragsnummer zur Identifizierung der verschiedenen Versuche desselben runName, die mehrmals ausgeführt werden. Die attemptNumber ist 0-basiert und sollte bei jedem neuen Lauf inkrementiert werden. Wenn ein Test beispielsweise dreimal wiederholt wird, sollte er insgesamt vier Läufe mit demselben runName haben und die attemptNumber sollte von 0 bis 3 reichen.

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

testRunStarted

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

Meldet den Beginn eines Testlaufs.

Parameter
runName String: der Name des Testlaufs

testCount int: Gesamtzahl der Tests im Testlauf

attemptNumber int: Auftragsnummer zur Identifizierung der verschiedenen Versuche desselben runName, die mehrmals ausgeführt werden. Die attemptNumber ist 0-basiert und sollte bei jedem neuen Lauf inkrementiert werden. Beispiel: Ein Test wird dreimal wiederholt. Er sollte insgesamt vier Läufe mit demselben runName haben und die attemptNumber sollte von 0 bis 3 reichen.

startTime long: Der Zeitpunkt, zu dem der Lauf begonnen hat, gemessen mit System.currentTimeMillis()

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.

testSkipped

public void testSkipped (TestDescription test, 
                SkipReason reason)

Wird aufgerufen, wenn ein Test übersprungen wurde und aus einem Grund nicht ausgeführt wurde, der normalerweise nicht erwartet wird. Diese Tests werden wiederholt, um eine ordnungsgemäße Ausführung zu erreichen.

Parameter
test TestDescription: Gibt den Test an.

reason SkipReason: SkipReason

testStarted

public void testStarted (TestDescription test, 
                long startTime)

Alternative zu testStarted(TestDescription), bei der wir auch angeben, wann der Test gestartet wurde, in Kombination mit testEnded(TestDescription,long,Map) für eine genaue Messung.

Parameter
test TestDescription: Gibt den Test an.

startTime long: Die Uhrzeit, zu der der Test begonnen hat, gemessen über System.currentTimeMillis()

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.

uploadStoragePath

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

Lädt den Speicherpfad eines AnTS-Testartefakts in ResultDB hoch.

Dies ist eine vorübergehende Lösung für die Migration von AnTS zu ResultDB (siehe go/convergence-tr). Diese Methode sollte vom AnTS-Reporter aufgerufen werden, wenn der Speicherpfad eines Artefakts verfügbar wird.

Der AnTS-Reporter ruft diese Methode garantiert für jedes hochgeladene Artefakt auf. Dieser Reporter lädt dann alle Artefakte mit der richtigen Testzuordnung in ResultDB hoch. Damit die Protokolle richtig zugeordnet werden können,muss logAssociation(String,LogFile) zuvor für dieselbe Ressourcen-ID aufgerufen worden sein. So wird sichergestellt, dass das Artefakt bereits erfasst wird. Andernfalls wird das Artefakt der Arbeitsgruppe der obersten Ebene des Tradefed-Aufrufs zugeordnet.

Diese Methode darf nicht vor invocationStarted(IInvocationContext) aufgerufen werden. Sie kann nach invocationEnded(long) für Aufrufe aufgerufen werden, die von einem Upstream-System verwaltet werden, da sie nicht von diesem Reporter abgeschlossen werden. Dies gilt nicht für lokal erstellte Aufrufe, die in invocationEnded(long) abgeschlossen werden.

TODO(b/464941055): Entfernen Sie diese Methode, sobald wir AnTS-Artefakte richtig zu ResultDB migrieren können.

Parameter
resourceId String: Die Ressourcen-ID des Artefakts.

storagePath String: Der Speicherpfad des Artefakts (z.B. ein /bigstore/-Pfad).

logFile LogFile: Das LogFile-Objekt, das dem Artefakt zugeordnet ist.