Zbieracz raportów o błędach

public class BugreportCollector
extends Object implements ITestInvocationListener

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


Przekazany ITestInvocationListener , który zbiera raporty o błędach, gdy wystąpią konfigurowalne zdarzenia, a następnie wywołuje ITestInvocationListener#testLog na swoich elementach podrzędnych po zebraniu każdego raportu o błędach.

Zachowania: (FIXME: dokończ to)

  • Przechwyć po każdym przypadku, jeśli któryś z testów się nie powiódł
  • Przechwytuj po każdym przypadku testowym
  • Przechwytuj po każdym nieudanym przypadku testowym
  • Zdobyć

Streszczenie

Klasy zagnieżdżone

enum BugreportCollector.Filter

enum BugreportCollector.Freq

enum BugreportCollector.Noun

class BugreportCollector.Predicate

Pełny predykat opisujący, kiedy przechwycić raport o błędach.

enum BugreportCollector.Relation

interface BugreportCollector.SubPredicate

Pola

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Predefiniowany predykat, który uruchamia się po każdym nieudanym przypadku testowym

public static final BugreportCollector.Predicate AT_START

Predefiniowany predykat, który odpala się, gdy rozpoczyna się pierwsza inwokacja

Konstruktorzy publiczni

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

Metody publiczne

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

Blokuj, dopóki kolektor nie zbierze żadnych raportów o błędach.

TestSummary getSummary ()

Zezwala InvocationListener na zwrócenie podsumowania.

void invocationEnded (long elapsedTime)

Informuje, że wywołanie zostało zakończone pomyślnie lub z powodu błędu.

void invocationFailed (Throwable cause)

Zgłasza niekompletne wywołanie z powodu jakiegoś błędu.

void invocationStarted ( IInvocationContext context)

Zgłasza początek wywołania testowego.

void setAsynchronous (boolean asynchronous)

Ustaw, czy kolekcja bugreport powinna zbierać raport błędów w innym wątku ( asynchronous = true ), czy blokować obiekt wywołujący do momentu przechwycenia raportu błędów ( asynchronous = false ).

void setDescriptiveName (String name)

Ustaw opisową nazwę używaną podczas rejestrowania raportów o błędach.

void setDeviceWaitTime (int waitTime)

Ustaw czas (w sekundach) oczekiwania, aż urządzenie przejdzie w tryb online, zanim spróbujemy przechwycić zgłoszenie błędu.

void testAssumptionFailure ( TestDescription test, String trace)

Wywoływane, gdy atomowy test oznaczy, że przyjmuje warunek, który jest fałszywy

void testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics)

Raportuje zakończenie wykonywania pojedynczego przypadku testowego.

void testFailed ( TestDescription test, String trace)

Zgłasza niepowodzenie pojedynczego przypadku testowego.

void testIgnored ( TestDescription test)

Wywoływane, gdy test nie zostanie uruchomiony, zwykle dlatego, że metoda testowa ma adnotację org.junit.Ignore.

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

Udostępnia skojarzone dane dziennika lub debugowania z wywołania testowego.

void testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics)

Raportuje koniec uruchomienia testowego.

void testRunFailed (String errorMessage)

Testowanie raportów nie powiodło się z powodu błędu krytycznego.

void testRunStarted (String runName, int testCount)

Raportuje początek uruchomienia testowego.

void testRunStopped (long elapsedTime)

Raporty, że uruchomienie testowe zostało zatrzymane przed zakończeniem z powodu żądania użytkownika.

void testStarted ( TestDescription test)

Raportuje początek indywidualnego przypadku testowego.

Pola

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Predefiniowany predykat, który uruchamia się po każdym nieudanym przypadku testowym

NA STARCIE

public static final BugreportCollector.Predicate AT_START

Predefiniowany predykat, który odpala się, gdy rozpoczyna się pierwsza inwokacja

Konstruktorzy publiczni

Zbieracz raportów o błędach

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parametry
listener ITestInvocationListener

testDevice ITestDevice

Metody publiczne

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Parametry
p BugreportCollector.Predicate

blok do bezczynności

public void blockUntilIdle ()

Blokuj, dopóki kolektor nie zbierze żadnych raportów o błędach. Jeśli kolekcjoner nie zbiera aktywnie zgłoszenia błędu, wróć natychmiast

pobierz podsumowanie

public TestSummary getSummary ()

Zezwala InvocationListener na zwrócenie podsumowania.

Zwroty
TestSummary TestSummary podsumowujący przebieg lub null

inwokacjaZakończona

public void invocationEnded (long elapsedTime)

Informuje, że wywołanie zostało zakończone pomyślnie lub z powodu błędu.

Zostanie automatycznie wywołany przez platformę TradeFederation.

Parametry
elapsedTime long : czas trwania wywołania w ms

wywołanie nie powiodło się

public void invocationFailed (Throwable cause)

Zgłasza niekompletne wywołanie z powodu jakiegoś błędu.

Zostanie automatycznie wywołany przez platformę TradeFederation.

Parametry
cause Throwable : Throwable przyczyna niepowodzenia

wywołanieRozpoczęto

public void invocationStarted (IInvocationContext context)

Zgłasza początek wywołania testowego.

Zostanie automatycznie wywołany przez platformę TradeFederation. Reporterzy muszą zastąpić tę metodę, aby obsługiwać zgłaszanie wielu urządzeń.

Parametry
context IInvocationContext : informacje o wywołaniu

ustaw asynchroniczny

public void setAsynchronous (boolean asynchronous)

Ustaw, czy kolekcja bugreport powinna zbierać raport błędów w innym wątku ( asynchronous = true ), czy blokować obiekt wywołujący do momentu przechwycenia raportu błędów ( asynchronous = false ).

Parametry
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Ustaw opisową nazwę używaną podczas rejestrowania raportów o błędach. Jeśli null , BugreportCollector powróci do domyślnego zachowania serializacji nazwy zdarzenia, które spowodowało zebranie raportu o błędach.

Parametry
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Ustaw czas (w sekundach) oczekiwania, aż urządzenie przejdzie w tryb online, zanim spróbujemy przechwycić zgłoszenie błędu. Jeśli wynik jest ujemny, sprawdzenie nie zostanie wykonane. Każdy DeviceNotAvailableException napotkany podczas tego sprawdzania zostanie zarejestrowany i zignorowany.

Parametry
waitTime int

testZałożenieNiepowodzenie

public void testAssumptionFailure (TestDescription test, 
                String trace)

Wywoływane, gdy atomowy test oznaczy, że przyjmuje warunek, który jest fałszywy

Parametry
test TestDescription : identyfikuje test

trace String : ślad stosu awarii

testZakończony

public void testEnded (TestDescription test, 
                 testMetrics)

Raportuje zakończenie wykonywania pojedynczego przypadku testowego.

Jeśli testFailed(TestDescription, FailureDescription) nie został wywołany, ten test zakończył się pomyślnie. Zwraca również wszelkie metryki klucz/wartość, które mogły zostać wyemitowane podczas wykonywania przypadku testowego.

Parametry
test TestDescription : identyfikuje test

testMetrics : ERROR(/Map) emitowanych metryk

Test nieudany

public void testFailed (TestDescription test, 
                String trace)

Zgłasza niepowodzenie pojedynczego przypadku testowego.

Zostanie wywołana między testStarted i testEnded.

Parametry
test TestDescription : identyfikuje test

trace String : ślad stosu awarii

testIgnorowane

public void testIgnored (TestDescription test)

Wywoływane, gdy test nie zostanie uruchomiony, zwykle dlatego, że metoda testowa ma adnotację org.junit.Ignore.

Parametry
test TestDescription : identyfikuje test

TestLog

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

Udostępnia skojarzone dane dziennika lub debugowania z wywołania testowego.

Należy wywołać przed ERROR(/ITestInvocationListener#invocationFailed(Throwable)) lub ERROR(/ITestInvocationListener#invocationEnded(long))

Platforma TradeFederation automatycznie wywoła tę metodę, dostarczając dziennik hosta i, jeśli ma to zastosowanie, dziennik urządzenia.

Parametry
dataName String : opisowa nazwa danych typu String . np. „device_logcat”. Uwaga dataName może nie być unikatowa na wywołanie. tj. realizatorzy muszą być w stanie obsłużyć wiele wywołań z tą samą nazwą data

dataType LogDataType : LogDataType danych

dataStream InputStreamSource : InputStreamSource danych. Realizatorzy powinni wywołać metodę createInputStream, aby rozpocząć odczytywanie danych i zapewnić zamknięcie wynikowego InputStream po zakończeniu. Wywołujący powinien upewnić się, że źródło danych pozostaje obecne i dostępne do momentu zakończenia metody testLog.

TestUruchomionyZakończony

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Raportuje koniec uruchomienia testowego. FIXME: Nie możemy mieć dwóch interfejsów Map<> o różnych typach, więc musimy tutaj użyć HashMap.

Parametry
elapsedTime long : urządzenie zgłosiło czas, który upłynął, w milisekundach

runMetrics : pary klucz-wartość zgłoszone na koniec testu z Metric .

TestUruchomie się nie powiódł

public void testRunFailed (String errorMessage)

Testowanie raportów nie powiodło się z powodu błędu krytycznego.

Parametry
errorMessage String : String opisujący przyczynę niepowodzenia uruchomienia.

testUruchomiony

public void testRunStarted (String runName, 
                int testCount)

Raportuje początek uruchomienia testowego.

Parametry
runName String : nazwa uruchomienia testowego

testCount int : całkowita liczba testów w przebiegu testowym

testRunStopped

public void testRunStopped (long elapsedTime)

Raporty, że uruchomienie testowe zostało zatrzymane przed zakończeniem z powodu żądania użytkownika.

TODO: obecnie nieużywane, rozważ usunięcie

Parametry
elapsedTime long : urządzenie zgłosiło czas, który upłynął, w milisekundach

testRozpoczęto

public void testStarted (TestDescription test)

Raportuje początek indywidualnego przypadku testowego. Starszy interfejs powinien używać testStarted(com.android.tradefed.result.TestDescription) , gdy tylko jest to możliwe.

Parametry
test TestDescription : identyfikuje test