ShardListener
public class ShardListener
extends CollectingTestListener
implements ISupportGranularResults
java.lang.Object | ||
↳ | com.android.tradefed.result.CollectingTestListener | |
↳ | com.android.tradefed.invoker.ShardListener |
Ein ITestInvocationListener
, der Ergebnisse von einem Aufruf-Shard (auch bekannt als Aufrufaufteilung zur parallelen Ausführung auf mehreren Ressourcen) erfasst und sie an einen anderen Listener weiterleitet.
Zusammenfassung
Öffentliche Konstrukteure | |
---|---|
ShardListener ( ITestInvocationListener main) Erstellen Sie einen |
Öffentliche Methoden | |
---|---|
getUnderlyingResultReporter () | |
void | invocationEnded (long elapsedTime) Meldet, dass der Aufruf erfolgreich oder aufgrund einer Fehlerbedingung beendet wurde. |
void | invocationFailed ( FailureDescription failure) Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung. |
void | invocationFailed (Throwable cause) Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung. |
void | invocationStarted ( IInvocationContext context) Meldet den Start des Testaufrufs. |
void | logAssociation (String dataName, LogFile logFile) In einigen Fällen muss das Protokoll stark mit einem Testfall verknüpft werden, aber die Möglichkeit dazu besteht direkt in |
void | setSupportGranularResults (boolean enableGranularResults) |
boolean | supportGranularResults () Gibt „True“ zurück, wenn der Reporter granulare Ergebnisse unterstützt, andernfalls „False“. |
void | testLog (String dataName, LogDataType dataType, InputStreamSource dataStream) Stellt die zugehörigen Protokoll- oder Debugdaten aus dem Testaufruf bereit. |
void | testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile) |
void | testModuleEnded () Meldet das Ende einer Modulausführung. |
void | testModuleStarted ( IInvocationContext moduleContext) Meldet den Beginn eines laufenden Moduls. |
void | testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics) Meldet das Ende des Testlaufs. |
void | testRunFailed ( FailureDescription failure) Der Berichtstestlauf konnte aufgrund eines von |
void | testRunFailed (String failureMessage) Berichtstestlauf konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden. |
void | testRunStarted (String name, int numTests, int attemptNumber, long startTime) Meldet den Start eines Testlaufs. |
Öffentliche Konstrukteure
ShardListener
public ShardListener (ITestInvocationListener main)
Erstellen Sie einen ShardListener
.
Parameter | |
---|---|
main | ITestInvocationListener : Der ITestInvocationListener soll die Ergebnisse weiterleiten. Um Kollisionen mit anderen ShardListener s zu vermeiden, wird dieses Objekt beim Weiterleiten von Ergebnissen auf main synchronisiert. Und Ergebnisse werden erst gesendet, wenn der Aufruf-Shard abgeschlossen ist. |
Öffentliche Methoden
getUnderlyingResultReporter
publicgetUnderlyingResultReporter ()
Kehrt zurück | |
---|---|
AufrufBeendet
public void invocationEnded (long elapsedTime)
Meldet, dass der Aufruf erfolgreich oder aufgrund einer Fehlerbedingung beendet wurde.
Wird automatisch vom TradeFederation-Framework aufgerufen.Parameter | |
---|---|
elapsedTime | long : die verstrichene Zeit des Aufrufs in ms |
Aufruf fehlgeschlagen
public void invocationFailed (FailureDescription failure)
Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung.
Wird automatisch vom TradeFederation-Framework aufgerufen.
Parameter | |
---|---|
failure | FailureDescription : die FailureDescription , die die Ursache des Fehlers beschreibt |
Aufruf fehlgeschlagen
public void invocationFailed (Throwable cause)
Meldet einen unvollständigen Aufruf aufgrund einer Fehlerbedingung.
Wird automatisch vom TradeFederation-Framework aufgerufen.Parameter | |
---|---|
cause | Throwable : die Fehlerursache ERROR(/Throwable) |
AufrufStarted
public void invocationStarted (IInvocationContext context)
Meldet den Start des Testaufrufs.
Wird automatisch vom TradeFederation-Framework aufgerufen. Melder müssen diese Methode überschreiben, um die Meldung mehrerer Geräte zu unterstützen.
Parameter | |
---|---|
context | IInvocationContext : Informationen über den Aufruf |
logAssoziation
public void logAssociation (String dataName, LogFile logFile)
In einigen Fällen muss das Protokoll stark mit einem Testfall verknüpft werden, aber die Möglichkeit dazu besteht direkt in testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
Callback ist nicht möglich. Somit ermöglicht dieser Rückruf die explizite Bereitstellung einer starken Assoziation.
Parameter | |
---|---|
dataName | String : Der Name der Daten |
logFile | LogFile : die zuvor protokollierte LogFile , die dem Testfall zugeordnet werden soll. |
setSupportGranularResults
public void setSupportGranularResults (boolean enableGranularResults)
Parameter | |
---|---|
enableGranularResults | boolean |
supportGranularResults
public boolean supportGranularResults ()
Gibt „True“ zurück, wenn der Reporter granulare Ergebnisse unterstützt, andernfalls „False“.
Kehrt zurück | |
---|---|
boolean |
testLog
public void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
Stellt die zugehörigen Protokoll- oder Debugdaten aus dem Testaufruf bereit.
Muss vorERROR(/ITestInvocationListener#invocationFailed(Throwable))
oder ERROR(/ITestInvocationListener#invocationEnded(long))
aufgerufen werden Das TradeFederation-Framework ruft diese Methode automatisch auf und stellt das Host-Protokoll und gegebenenfalls das Geräte-Logcat bereit.Parameter | |
---|---|
dataName | String : ein ERROR(/String) beschreibender Name der Daten. zB "device_logcat". Hinweis dataName darf pro Aufruf nicht eindeutig sein. dh Implementierer müssen in der Lage sein, mehrere Aufrufe mit demselben dataName zu verarbeiten |
dataType | LogDataType : der LogDataType der Daten |
dataStream | InputStreamSource : die InputStreamSource der Daten. Implementierer sollten createInputStream aufrufen, um mit dem Lesen der Daten zu beginnen, und sicherstellen, dass der resultierende InputStream nach Abschluss geschlossen wird. Aufrufer sollten sicherstellen, dass die Quelle der Daten vorhanden und zugänglich bleibt, bis die testLog-Methode abgeschlossen ist. |
testLogGespeichert
public void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
Parameter | |
---|---|
dataName | String |
dataType | LogDataType |
dataStream | InputStreamSource |
logFile | LogFile |
testModuleEnded
public void testModuleEnded ()
Meldet das Ende einer Modulausführung.
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
Meldet den Beginn eines laufenden Moduls. Dieser Rückruf ist testModuleEnded()
zugeordnet und in der Sequenz optional. Es wird nur während eines Laufs verwendet, der Module verwendet: Suite-basierte Läufer.
Parameter | |
---|---|
moduleContext | IInvocationContext : der IInvocationContext des Moduls. |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
Meldet das Ende des Testlaufs. FIXME: Wir können nicht zwei Map<>-Schnittstellen mit unterschiedlichem Typ haben, also müssen wir hier HashMap verwenden.
Parameter | |
---|---|
elapsedTime | long : vom Gerät gemeldete verstrichene Zeit in Millisekunden |
runMetrics | Metric gemeldet werden. |
testRunFailed
public void testRunFailed (FailureDescription failure)
Der Berichtstestlauf konnte aufgrund eines von FailureDescription
beschriebenen Fehlers nicht abgeschlossen werden.
Parameter | |
---|---|
failure | FailureDescription : FailureDescription , die den Fehler und seinen Kontext beschreibt. |
testRunFailed
public void testRunFailed (String failureMessage)
Berichtstestlauf konnte aufgrund eines schwerwiegenden Fehlers nicht abgeschlossen werden.
Parameter | |
---|---|
failureMessage | String : ERROR(/String) beschreibt den Grund für den Ausführungsfehler. |
testRunStarted
public void testRunStarted (String name, int numTests, int attemptNumber, long startTime)
Meldet den Start eines Testlaufs.
Parameter | |
---|---|
name | String : der Name des Testlaufs |
numTests | int : Gesamtzahl der Tests im Testlauf |
attemptNumber | int : Auftragsnummer, die die verschiedenen Versuche desselben runName identifiziert, die mehrmals ausgeführt werden. Die tryNumber ist 0-indiziert und sollte bei jeder neuen Ausführung erhöht werden. Beispiel: Ein Test wird granular 3 Mal wiederholt, er sollte insgesamt 4 Läufe unter demselben RunName haben und die tryNumber liegt zwischen 0 und 3. |
startTime | long : die Zeit, zu der der Lauf gestartet wurde, gemessen über ERROR(/System#currentTimeMillis()) |