ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Harmonogram uruchamiania poleceń TradeFederation.

Podsumowanie

Zagnieżdżone klasy

interface ICommandScheduler.IScheduledInvocationListener

Listener dla zdarzeń wywołania po zakończeniu wywołania. 

Metody publiczne

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

Dodaje polecenie do algorytmu szeregowania.

abstract void addCommandFile(String cmdFile, extraArgs)

Dodaje wszystkie polecenia z danego pliku do algorytmu szeregowania

abstract void await()

Czeka na rozpoczęcie działania harmonogramu, w tym na zakończenie przekazania kontroli przez stary TF (jeśli to konieczne).

abstract void displayCommandQueue(PrintWriter printWriter)

Wyświetla szczegółowe informacje debugowania dotyczące stanu kolejki wykonania poleceń.

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Wyświetl listę bieżących poleceń.

abstract void displayInvocationsInfo(PrintWriter printWriter)

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

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

Wygeneruj rozszerzony plik XML polecenia ze wszystkimi wartościami Option określonymi dla wszystkich bieżących poleceń.

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

Przydziela urządzenie bezpośrednio i wykonuje polecenie bez dodawania go do kolejki poleceń za pomocą już istniejącego IInvocationContext.

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

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

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

Wykonywanie polecenia bezpośrednio na już przypisanym urządzeniu.

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

Wykonaj polecenie bezpośrednio na przydzielonych już urządzeniach.

abstract CommandFileWatcher getCommandFileWatcher()

Pobierz odpowiedni program CommandFileWatcher dla tego harmonogramu.

abstract int getExecutingCommandCount()

Zwraca liczbę poleceń w stanie wykonywania.

abstract String getInvocationInfo(int invocationId)

Zwraca informacje o jednostce organizacyjnej wywołania, która zawiera identyfikator wywołania.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

Zwraca kod błędu ostatniego wywołania.

abstract Throwable getLastInvocationThrowable()

Zwraca wartość Throwable z ostatniego wywołania.

abstract int getReadyCommandCount()

Zwraca liczbę poleceń w stanie gotowości w kolejce.

abstract boolean isDeviceInInvocationThread(ITestDevice device)

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

abstract void join()

Czeka na zakończenie działania harmonogramu.

abstract void join(long millis)

Czeka na zakończenie działania harmonogramu lub na przekroczenie limitu czasu (w milisekundach).

abstract void removeAllCommands()

Usuń wszystkie polecenia z algorytmu szeregowania

abstract void setClearcutClient(ClearcutClient client)

Ustawianie klienta na potrzeby raportowania danych zaprzęgu

abstract boolean shouldShutdownOnCmdfileError()

Zwraca wartość true, jeśli w przypadku błędu polecenia trzeba wyłączyć algorytm szeregowania

default void shutdown()

Próba płynnego wyłączenia algorytmu planowania poleceń.

abstract void shutdown(boolean notifyStop)

Próba płynnego wyłączenia algorytmu planowania poleceń.

abstract void shutdownHard(boolean killAdb)

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

abstract void shutdownHard()

Spróbuj wymusić wyłączenie algorytmu szeregowania poleceń.

abstract void shutdownOnEmpty()

Podobnie jak w przypadku polecenia shutdown(), ale z tym, że przed zakończeniem zaczeka na wykonanie wszystkich poleceń.

abstract void start()

Uruchom ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Zatrzymaj bieżące wywołanie, podając jego identyfikator.

default boolean stopInvocation(int invocationId)

Zatrzymaj bieżące wywołanie, podając jego identyfikator.

abstract boolean stopInvocation(ITestInvocation invocation)

Zatrzymanie bieżącego wywołania.

default void stopScheduling()

Zatrzymuje planowanie i akceptowanie nowych testów, ale nie zatrzymuje Tradefed.

Metody publiczne

addCommand

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

Dodaje polecenie do algorytmu szeregowania.

Polecenie to zasadniczo instancja uruchomionej konfiguracji i powiązane z nią argumenty.

Jeśli podano argument „--help”, tekst pomocy dla konfiguracji zostanie wyświetlony na wyjściu standardowym. W przeciwnym razie konfiguracja zostanie dodana do kolejki do uruchomienia.

Parametry
args String: argumenty konfiguracji.

Zwroty
Pair<Boolean, Integer> Para wartości, z której pierwsza to wartość logiczna true, jeśli polecenie zostało dodane. Druga wartość to znany identyfikator narzędzia do śledzenia poleceń(wartość nieujemna), jeśli polecenie zostało dodane. Zwróć 0, gdy polecenie zostanie dodane dla wszystkich urządzeń. W przeciwnym razie -1.

Rzuty
ConfigurationException if command could not be parsed

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Dodaje do harmonogramu wszystkie polecenia z podanego pliku.

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

extraArgs : tablica ERROR(/List) argumentów String do dołączenia do każdego polecenia przeanalizowanego z pliku. Pole może być puste, ale nie powinno być puste.

Rzuty
ConfigurationException if command file could not be parsed

Zobacz też:

await

public abstract void await ()

Czeka na rozpoczęcie działania harmonogramu, w tym na zakończenie przekazania kontroli przez stary TF (jeśli to konieczne).

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Wyświetla szczegółowe informacje debugowania dotyczące stanu kolejki wykonania poleceń.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Wyświetl listę bieżących poleceń.

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

regex String: wyrażenie regularne, do którego muszą pasować polecenia, aby mogły zostać wydrukowane. Jeśli jest to wartość null, zostaną wydrukowane wszystkie polecenia.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

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

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

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

Parametry
printWriter PrintWriter: ERROR(/PrintWriter), do którego ma być wyprowadzany stan.

regex String: wyrażenie regularne, do którego należy dopasowywać polecenia, aby skopiować plik XML. Jeśli to pole jest puste, zostaną wypisane wszystkie polecenia.

execCommand

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ń, używając już istniejącego IInvocationContext.

Parametry
context IInvocationContext: istniejący IInvocationContext.

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, gdzie będą dostępne informacje

args String: argumenty polecenia

Zwroty
long

Rzuty
ConfigurationException jeśli polecenie było nieprawidłowe.
NoDeviceException gdy nie ma urządzenia, którego można użyć

execCommand

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

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

Parametry
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, które mają być informowane

args String: argumenty polecenia

Zwroty
long Identyfikator wywołania zaplanowanego polecenia.

Rzuty
ConfigurationException jeśli polecenie było nieprawidłowe.
NoDeviceException gdy nie ma urządzenia, którego można użyć

execCommand

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

Wykonywanie polecenia bezpośrednio na już przypisanym urządzeniu.

Parametry
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, gdzie będą dostępne informacje

device ITestDevice: ITestDevice do użycia

args String: argumenty polecenia

Zwroty
long Identyfikator wywołania zaplanowanego polecenia.

Rzuty
ConfigurationException jeśli polecenie było nieprawidłowe.

execCommand

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

Wykonywanie poleceń bezpośrednio na już przypisanych urządzeniach.

Parametry
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, które mają być informowane

devices : ERROR(/List) do użycia

args String: argumenty polecenia.

Zwroty
long Identyfikator wywołania zaplanowanego polecenia.

Rzuty
ConfigurationException jeśli polecenie jest nieprawidłowe

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Pobierz odpowiedni program CommandFileWatcher dla tego harmonogramu.

Zwroty
CommandFileWatcher

getExecutingCommandCount;

public abstract int getExecutingCommandCount ()

Zwraca liczbę poleceń w stanie wykonywania.

Zwroty
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Zwraca informacje o wywołaniu, podając jego identyfikator.

Parametry
invocationId int: identyfikator śledzenia wywołania.

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

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Zwraca kod błędu ostatniego wywołania. Zwraca wartość 0 (brak błędu), jeśli żadne wywołanie nie zostało jeszcze wykonane.

Zwroty
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Zwraca wartość Throwable z ostatniego wywołania. Zwraca wartość null, jeśli nie ma dostępnych obiektów rzucalnych.

Zwroty
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Zwraca liczbę poleceń w stanie gotowości w kolejce.

Zwroty
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

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

Parametry
device ITestDevice

Zwroty
boolean

dołącz

public abstract void join ()

Czeka na zakończenie działania harmonogramu.

Zobacz też:

dołącz

public abstract void join (long millis)

Czeka na zakończenie działania harmonogramu lub na przekroczenie limitu czasu (w milisekundach).

Parametry
millis long

Zobacz też:

removeAllCommands

public abstract void removeAllCommands ()

Usuń wszystkie polecenia z harmonogramu

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Ustawianie klienta na potrzeby raportowania danych zaprzęgu

Parametry
client ClearcutClient

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Zwraca wartość Prawda, jeśli musimy wyłączyć harmonogramistę z powodu błędów poleceń.

Zwroty
boolean

wyłączenie

public void shutdown ()

Spróbuj płynnie wyłączyć algorytm szeregowania poleceń.

Czyści polecenia oczekujące na przetestowanie i prosi o łagodne zakończenie wszystkich wywołań w toku.

Po wywołaniu wyłączenia główna pętla algorytmu szeregowania będzie czekać na zakończenie wszystkich wywołań, zanim zostanie całkowicie zamknięta.

wyłączenie

public abstract void shutdown (boolean notifyStop)

Próba płynnego wyłączenia algorytmu planowania poleceń.

Parametry
notifyStop boolean: jeśli wartość to prawda, wywołania są powiadamiane o wyłączeniu TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

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

Podobnie jak w przypadku shutdown(), ale opcjonalnie spowoduje też opcjonalnie zamknięcie połączenia adb w celu szybszego „inspirowania” wywołań.

Parametry
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Spróbuj wymusić zamknięcie harmonogramu poleceń. Taka sama jak w przypadku wyłączeniaHard(prawda).

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

Podobnie jak w przypadku polecenia shutdown(), ale z tym, że przed zakończeniem zaczeka na wykonanie wszystkich poleceń.

Pamiętaj, że jeśli jakiekolwiek polecenia są w pętli, harmonogram nigdy się nie zakończy.

rozpocznij

public abstract void start ()

Rozpocznij ICommandScheduler.

Ta metoda musi zostać wywołana przed wywołaniem innych metod.

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

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Zatrzymaj bieżące 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ływanie zostało zatrzymane. W przeciwnym razie ma wartość „false” (fałsz).

Rzuty
UnsupportedOperationException jeśli implementacja nie obsługuje tego

stopInvocation

public boolean stopInvocation (int invocationId)

Zatrzymaj bieżące wywołanie, podając jego identyfikator.

Parametry
invocationId int

Zwroty
boolean „true”, jeśli wywoływanie zostało zatrzymane. W przeciwnym razie ma wartość „false” (fałsz).

Rzuty
UnsupportedOperationException jeśli implementacja nie obsługuje tego

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Zatrzymanie bieżącego wywołania.

Parametry
invocation ITestInvocation

Zwroty
boolean „true”, jeśli wywoływanie zostało zatrzymane. W przeciwnym razie ma wartość „false” (fałsz).

Rzuty
UnsupportedOperationException jeśli implementacja nie obsługuje tej funkcji

stopScheduling

public void stopScheduling ()

Zatrzymuje planowanie i akceptowanie nowych testów, ale nie zatrzymuje Tradefed. Ma to na celu włączenie dwuetapowego wyłączenia. Najpierw opróżnimy wszystkie uruchomione testy, a potem zakończymy proces Tradefed.