ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Harmonogram uruchamiania poleceń TradeFederation.

Streszczenie

Zagnieżdżone klasy

interface ICommandScheduler.IScheduledInvocationListener

Odbiornik zdarzeń wywołania po zakończeniu wywołania.

Metody publiczne

abstract Pair <Boolean, Integer> addCommand (String[] args)

Dodaje polecenie do harmonogramu.

abstract void addCommandFile (String cmdFile, extraArgs) addCommandFile (String cmdFile, extraArgs)

Dodaje wszystkie polecenia z podanego pliku do harmonogramu

abstract void await ()

Czeka na rozpoczęcie działania programu planującego, łącznie z oczekiwaniem na zakończenie przekazania ze starego TF, jeśli ma to zastosowanie.

abstract void displayCommandQueue (PrintWriter printWriter)

Wyprowadź szczegółowe informacje debugowania dotyczące stanu kolejki wykonywania poleceń.

abstract void displayCommandsInfo (PrintWriter printWriter, String regex)

Wyprowadź listę bieżących poleceń.

abstract void displayInvocationsInfo (PrintWriter printWriter)

Wyświetla listę bieżących wywołań.

abstract void dumpCommandsXml (PrintWriter printWriter, String regex)

Zrzuć rozwinięty plik xml dla polecenia ze wszystkimi wartościami Option określonymi dla wszystkich bieżących poleceń.

abstract long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)

Bezpośrednio przydziela urządzenie i wykonuje polecenie bez dodawania go do kolejki poleceń przy użyciu już istniejącego IInvocationContext .

abstract long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args)

Bezpośrednio przydziela urządzenie i wykonuje polecenie bez dodawania go do kolejki poleceń.

abstract long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)

Bezpośrednio wykonaj polecenie na już przydzielonych urządzeniach.

abstract CommandFileWatcher getCommandFileWatcher ()

Pobierz odpowiedni CommandFileWatcher dla tego harmonogramu

abstract int getExecutingCommandCount ()

Zwraca liczbę poleceń w stanie wykonywania.

abstract String getInvocationInfo (int invocationId)

Zwróć informacje o wywołaniu, podając identyfikator wywołania.

abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Zwróć kod błędu ostatniego uruchomionego wywołania.

abstract Throwable getLastInvocationThrowable ()

Zwróć obiekt Throwable z ostatniego uruchomionego wywołania.

abstract int getReadyCommandCount ()

Zwraca liczbę poleceń znajdujących się w kolejce w stanie gotowości.

abstract boolean isDeviceInInvocationThread ( ITestDevice device)

Zwraca wartość true, jeśli urządzenie jest używane przez aktywny wątek wywołania.

abstract void join ()

Oczekuje na zakończenie działania harmonogramu.

abstract void join (long millis)

Oczekuje na zakończenie harmonogramu lub przekroczenie limitu czasu po upływie czasu określonego w milisekundach.

abstract void removeAllCommands ()

Usuń wszystkie polecenia z harmonogramu

abstract void setClearcutClient (ClearcutClient client)

Ustaw klienta tak, aby raportował dane wiązki przewodów

abstract boolean shouldShutdownOnCmdfileError ()

Zwróć wartość true, jeśli musimy zamknąć program planujący w przypadku błędów polecenia

default void shutdown ()

Spróbuj bezpiecznie zamknąć harmonogram poleceń.

abstract void shutdown (boolean notifyStop)

Spróbuj bezpiecznie zamknąć harmonogram poleceń.

abstract void shutdownHard (boolean killAdb)

Spróbuj wymusić zamknięcie harmonogramu poleceń.

abstract void shutdownHard ()

Spróbuj wymusić zamknięcie harmonogramu poleceń.

abstract void shutdownOnEmpty ()

Podobny do shutdown() , ale zamiast tego czeka na wykonanie wszystkich poleceń przed wyjściem.

abstract void start ()

Uruchom ICommandScheduler .

abstract boolean stopInvocation (int invocationId, String cause)

Zatrzymaj uruchomione wywołanie, podając jego identyfikator.

default boolean stopInvocation (int invocationId)

Zatrzymaj uruchomione wywołanie, podając jego identyfikator.

abstract boolean stopInvocation ( ITestInvocation invocation)

Zatrzymaj działające wywołanie.

default void stopScheduling ()

Przestaje planować i akceptować nowe testy, ale nie zatrzymuje Tradefed.

Metody publiczne

dodajpolecenie

public abstract Pair<Boolean, Integer> addCommand (String[] args)

Dodaje polecenie do harmonogramu.

Polecenie jest zasadniczo instancją konfiguracji do uruchomienia i skojarzonymi z nią argumentami.

Jeśli podano argument „--help”, tekst pomocy dla konfiguracji zostanie wypisany na standardowe wyjście. W przeciwnym razie konfiguracja zostanie dodana do kolejki do uruchomienia.

Parametry
args String : argumenty konfiguracyjne.

Zwroty
Pair <Boolean, Integer> Para wartości, pierwsza wartość jest wartością logiczną true , jeśli polecenie zostało pomyślnie dodane. Druga wartość to znany identyfikator śledzenia poleceń (wartość nieujemna). Jeśli polecenie zostało dodane pomyślnie, zwróć 0, gdy polecenie zostanie dodane dla wszystkich urządzeń, w przeciwnym razie -1.

Rzuca
ConfigurationException jeśli nie można przeanalizować polecenia

dodaj plik poleceń

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Dodaje wszystkie polecenia z podanego pliku do harmonogramu

Parametry
cmdFile String : ścieżka systemu plików pliku poleceń

extraArgs : ERROR(/List) argumentów String do dołączenia do każdego polecenia analizowanego z pliku. Może być pusta, ale nie powinna mieć wartości null.

Rzuca
ConfigurationException jeśli nie można przeanalizować pliku poleceń

Zobacz też:

czekać na

public abstract void await ()

Czeka na rozpoczęcie działania programu planującego, łącznie z oczekiwaniem na zakończenie przekazania ze starego TF, jeśli ma to zastosowanie.

wyświetl kolejkę poleceń

public abstract void displayCommandQueue (PrintWriter printWriter)

Wyprowadź szczegółowe informacje debugowania dotyczące stanu kolejki wykonywania poleceń.

wyświetl informacje o poleceniach

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Wyprowadź listę bieżących poleceń.

Parametry
printWriter PrintWriter : ERROR(/PrintWriter) do wyprowadzania.

regex String : wyrażenie regularne, do którego należy dopasować polecenia, aby zostały wydrukowane. Jeśli ma wartość null, wówczas zostaną wydrukowane wszystkie polecenia.

wyświetl informacje o wywołaniach

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Wyświetla listę bieżących wywołań.

Parametry
printWriter PrintWriter : ERROR(/PrintWriter) do wyprowadzania.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Zrzuć rozwinięty plik xml dla polecenia ze wszystkimi wartościami Option określonymi dla wszystkich bieżących poleceń.

Parametry
printWriter PrintWriter : ERROR(/PrintWriter) do którego ma być wysyłany stan.

regex String : wyrażenie regularne, do którego należy dopasować polecenia, aby plik xml został zrzucony. Jeśli ma wartość null, wszystkie polecenia zostaną zrzucone.

polecenie exec

public abstract long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Bezpośrednio przydziela urządzenie i wykonuje polecenie bez dodawania go do kolejki poleceń przy użyciu już istniejącego IInvocationContext .

Parametry
context IInvocationContext : istniejący IInvocationContext .

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener , który ma zostać poinformowany

args String : argumenty polecenia

Zwroty
long

Rzuca
ConfigurationException jeśli polecenie było nieprawidłowe
NoDeviceException jeśli nie ma żadnego urządzenia do użycia

polecenie exec

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Bezpośrednio przydziela urządzenie i wykonuje polecenie bez dodawania go do kolejki poleceń.

Parametry
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener , który ma zostać poinformowany

args String : argumenty polecenia

Zwroty
long Identyfikator wywołania zaplanowanego polecenia.

Rzuca
ConfigurationException jeśli polecenie było nieprawidłowe
NoDeviceException jeśli nie ma żadnego urządzenia do użycia

polecenie exec

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 devices, 
                String[] args)

Bezpośrednio wykonaj polecenie na już przydzielonych urządzeniach.

Parametry
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener , który ma zostać poinformowany

devices : ERROR(/List ) ERROR(/List ) używać

args String : argumenty polecenia

Zwroty
long Identyfikator wywołania zaplanowanego polecenia.

Rzuca
ConfigurationException jeśli polecenie było nieprawidłowe

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Pobierz odpowiedni CommandFileWatcher dla tego harmonogramu

Zwroty
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Zwraca liczbę poleceń w stanie wykonywania.

Zwroty
int

pobierzInfo o Inwokacji

public abstract String getInvocationInfo (int invocationId)

Zwróć informacje o wywołaniu, podając identyfikator wywołania.

Parametry
invocationId int : identyfikator śledzenia wywołania.

Zwroty
String String zawierający informacje o wywołaniu.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Zwróć kod błędu ostatniego uruchomionego wywołania. Zwróć 0 (brak błędu), jeśli żadne wywołanie nie zostało jeszcze uruchomione.

Zwroty
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Zwróć obiekt Throwable z ostatniego uruchomionego wywołania. Zwróć null, jeśli nie jest dostępny żaden obiekt do rzucania.

Zwroty
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Zwraca liczbę poleceń znajdujących się w kolejce w stanie gotowości.

Zwroty
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Zwraca wartość true, jeśli urządzenie jest używane przez aktywny wątek wywołania.

Parametry
device ITestDevice

Zwroty
boolean

dołączyć

public abstract void join ()

Oczekuje na zakończenie działania harmonogramu.

Zobacz też:

dołączyć

public abstract void join (long millis)

Oczekuje na zakończenie harmonogramu lub przekroczenie limitu czasu po upływie czasu określonego w milisekundach.

Parametry
millis long

Zobacz też:

usuńWszystkiepolecenia

public abstract void removeAllCommands ()

Usuń wszystkie polecenia z harmonogramu

ustawClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Ustaw klienta tak, aby raportował dane wiązki przewodów

Parametry
client ClearcutClient

powinienShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Zwróć wartość true, jeśli musimy zamknąć program planujący w przypadku błędów polecenia

Zwroty
boolean

zamknięcie

public void shutdown ()

Spróbuj bezpiecznie zamknąć harmonogram poleceń.

Czyści polecenia oczekujące na przetestowanie i żąda bezpiecznego zamknięcia wszystkich trwających wywołań.

Po wywołaniu zamknięcia główna pętla programu planującego będzie czekać na zakończenie wszystkich trwających wywołań, zanim całkowicie zakończy działanie.

zamknięcie

public abstract void shutdown (boolean notifyStop)

Spróbuj bezpiecznie zamknąć harmonogram poleceń.

Parametry
notifyStop boolean : jeśli true, powiadamia o wywołaniu zamknięcia TF.

zamknięcieTwarde

public abstract void shutdownHard (boolean killAdb)

Spróbuj wymusić zamknięcie harmonogramu poleceń.

Podobny do shutdown() , ale opcjonalnie również zakończy połączenie adb, próbując „zainspirować” trwające wywołania do szybszego zakończenia.

Parametry
killAdb boolean

zamknięcieTwarde

public abstract void shutdownHard ()

Spróbuj wymusić zamknięcie harmonogramu poleceń. To samo co zamknięcieHard(true).

zamknięcieOnEmpty

public abstract void shutdownOnEmpty ()

Podobny do shutdown() , ale zamiast tego czeka na wykonanie wszystkich poleceń przed wyjściem.

Należy pamiętać, że jeśli jakiekolwiek polecenia są w trybie pętli, program planujący nigdy nie zakończy działania.

początek

public abstract void start ()

Uruchom ICommandScheduler .

Należy wywołać przed wywołaniem innych metod.

Będzie działać do momentu wywołania funkcji shutdown() . zobacz Thread.start() .

zatrzymaj Inwokację

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Zatrzymaj uruchomione wywołanie, podając jego identyfikator.

Parametry
invocationId int : identyfikator śledzenia wywołania.

cause String : przyczyna zatrzymania wywołania.

Zwroty
boolean true, jeśli wywołanie zostało zatrzymane, false w przeciwnym razie

Rzuca
UnsupportedOperationException jeśli implementacja tego nie obsługuje

zatrzymaj Inwokację

public boolean stopInvocation (int invocationId)

Zatrzymaj uruchomione wywołanie, podając jego identyfikator.

Parametry
invocationId int

Zwroty
boolean true, jeśli wywołanie zostało zatrzymane, false w przeciwnym razie

Rzuca
UnsupportedOperationException jeśli implementacja tego nie obsługuje

zatrzymaj Inwokację

public abstract boolean stopInvocation (ITestInvocation invocation)

Zatrzymaj działające wywołanie.

Parametry
invocation ITestInvocation

Zwroty
boolean true, jeśli wywołanie zostało zatrzymane, false w przeciwnym razie

Rzuca
UnsupportedOperationException jeśli implementacja tego nie obsługuje

zatrzymajPlanowanie

public void stopScheduling ()

Przestaje planować i akceptować nowe testy, ale nie zatrzymuje Tradefed. Ma to na celu umożliwienie dwuetapowego zamknięcia, podczas którego najpierw wyczerpujemy wszystkie uruchomione testy, a następnie kończymy proces Tradefed.