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 harmonogramu.

abstract void addCommandFile(String cmdFile, extraArgs)

Dodaje do harmonogramu wszystkie polecenia z podanego pliku.

abstract void await()

Czeka na rozpoczęcie działania algorytmu szeregowania, w tym na zakończenie przekazania od starego TF (jeśli to konieczne).

abstract void displayCommandQueue(PrintWriter printWriter)

Wyświetla szczegółowe informacje debugowania o stanie 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)

Wykonywanie poleceń bezpośrednio na już przypisanych 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 wywołaniu, podając jego identyfikator.

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 kole.

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 harmonogramu

abstract void setClearcutClient(ClearcutClient client)

Konfigurowanie klienta do raportowania danych z harness

abstract boolean shouldShutdownOnCmdfileError()

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

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ć zamknięcie harmonogramu 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 harmonogramu.

Polecenie to zasadniczo instancja konfiguracji do uruchomienia wraz z powiązanymi argumentami.

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 śledzenia polecenia(wartość nieujemna), jeśli polecenie zostało dodane, zwraca 0, gdy polecenie zostało dodane dla wszystkich urządzeń, w przeciwnym razie zwraca –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. 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 algorytmu szeregowania, w tym na zakończenie przekazania od starego TF (jeśli to konieczne).

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Wyświetla szczegółowe informacje debugowania o stanie 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)

Wygeneruj rozszerzony 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, z którym powinny być zgodne polecenia, aby można było zdumpować plik XML. Jeśli jest to wartość null, zostaną wypisane wszystkie polecenia.

execCommand

public 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.

Parametry
context IInvocationContext: istniejący IInvocationContext.

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, aby poinformować

args String: argumenty polecenia

Zwroty
long

Rzuty
ConfigurationException jeśli polecenie było nieprawidłowe.
NoDeviceException jeśli 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, aby poinformować

args String: argumenty polecenia

Zwroty
long Identyfikator wywołania zaplanowanego polecenia.

Rzuty
ConfigurationException jeśli polecenie było nieprawidłowe.
NoDeviceException jeśli 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, aby poinformować

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, aby poinformować

devices : ERROR(/List) do użycia

args String: argumenty polecenia

Zwroty
long Identyfikator wywołania zaplanowanego polecenia.

Rzuty
ConfigurationException jeśli polecenie było 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ływaniu.

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 kole.

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)

Konfigurowanie klienta do raportowania danych z harness

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

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

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

Po wywołaniu metody shutdown pętla główna harmonogramu czeka na zakończenie wszystkich wywołań, zanim zakończy działanie.

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 w tym przypadku opcjonalnie kończy też połączenie adb, aby w miarę możliwości przyspieszyć proces wywoływania.

Parametry
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

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

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

Uruchom ICommandScheduler.

Musi być wywoływany przed wywołaniem innych metod.

Będzie wykonywane 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 wartość true, jeśli wywołanie zostało zatrzymane, w przeciwnym razie wartość false

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 wartość true, jeśli wywołanie zostało zatrzymane, w przeciwnym razie wartość false

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 wartość true, jeśli wywołanie zostało zatrzymane, w przeciwnym razie wartość false

Rzuty
UnsupportedOperationException jeśli implementacja nie obsługuje tego

stopScheduling

public void stopScheduling ()

Zatrzymuje planowanie i akceptowanie nowych testów, ale nie zatrzymuje Tradefed. Ma to umożliwić wyłączenie w 2 etapach: najpierw skończymy wszystkie uruchomione testy, a potem zakończymy proces Tradefed.