ICommandScheduler
public
interface
ICommandScheduler
com.android.tradefed.command.ICommandScheduler |
Algorytm szeregowania poleceń federacji handlowej.
Podsumowanie
Zagnieżdżone klasy | |
---|---|
interface |
ICommandScheduler.IScheduledInvocationListener
Detektor 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,
Dodaje wszystkie polecenia z danego pliku do algorytmu szeregowania |
abstract
void
|
await()
Czekam na uruchomienie algorytmu szeregowania, w tym na zakończenie przekazywania ze starego pliku TF w odpowiednich przypadkach. |
abstract
void
|
displayCommandQueue(PrintWriter printWriter)
Przekazuj szczegółowe dane debugowania dotyczące stanu kolejki wykonywania poleceń. |
abstract
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Na wyjściu generuje 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
Dla wszystkich bieżących poleceń określono wartości |
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 elementu |
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,
Wykonaj polecenie bezpośrednio na przydzielonych już urządzeniach. |
abstract
CommandFileWatcher
|
getCommandFileWatcher()
Pobierz odpowiednie narzędzie CommandFileWatcher dla tego algorytmu szeregowania |
abstract
int
|
getExecutingCommandCount()
Zwraca liczbę poleceń w stanie wykonania. |
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 uruchomionego wywołania. |
abstract
Throwable
|
getLastInvocationThrowable()
Zwraca |
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()
Czekam na zakończenie działania algorytmu szeregowania. |
abstract
void
|
join(long millis)
Czekam na zakończenie działania algorytmu szeregowania lub przekroczenie limitu czasu po upływie określonego czasu w milisekundach. |
abstract
void
|
removeAllCommands()
Usuń wszystkie polecenia z algorytmu szeregowania |
abstract
void
|
setClearcutClient(ClearcutClient client)
Skonfiguruj klienta do raportowania danych o wykorzystywaniu danych |
abstract
boolean
|
shouldShutdownOnCmdfileError()
Zwraca wartość true, jeśli w przypadku błędu polecenia trzeba wyłączyć algorytm szeregowania |
default
void
|
shutdown()
Spróbuj płynnie wyłączyć algorytm szeregowania poleceń. |
abstract
void
|
shutdown(boolean notifyStop)
Spróbuj płynnie wyłączyć algorytm szeregowania poleceń. |
abstract
void
|
shutdownHard(boolean killAdb)
Spróbuj wymusić wyłączenie algorytmu szeregowania poleceń. |
abstract
void
|
shutdownHard()
Spróbuj wymusić wyłączenie algorytmu szeregowania poleceń. |
abstract
void
|
shutdownOnEmpty()
Podobnie jak |
abstract
void
|
start()
Rozpocznij |
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 uruchomione wywołanie. |
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 do uruchomienia konfiguracji i powiązane z nią .
Jeśli „--help” jest określony, tekst pomocy do konfiguracji będzie zwracany do stdout. W przeciwnym razie konfiguracja zostanie dodana do kolejki do uruchomienia.
Parametry | |
---|---|
args |
String : argumenty konfiguracji. |
Zwroty | |
---|---|
Pair<Boolean, Integer> |
Para wartości. Pierwsza wartość jest wartością logiczną true , jeśli dodano polecenie.
. Druga wartość to znany identyfikator narzędzia do śledzenia poleceń(wartość nieujemna), jeśli
polecenie zostało dodane. W przeciwnym razie zwróć 0 po dodaniu polecenia dla wszystkich urządzeń.
-1. |
Rzuty | |
---|---|
ConfigurationException |
jeśli nie udało się przeanalizować polecenia |
addCommandFile
public abstract void addCommandFile (String cmdFile,extraArgs)
Dodaje wszystkie polecenia z danego pliku do algorytmu szeregowania
Parametry | |
---|---|
cmdFile |
String : ścieżka systemu plików pliku polecenia |
extraArgs |
: ERROR(/List) z String argumentów do dołączenia do każdego przeanalizowanego polecenia
z pliku. Pole może być puste, ale nie powinno być puste. |
Rzuty | |
---|---|
ConfigurationException |
jeśli nie można przeanalizować pliku polecenia |
Zobacz też:
poczekaj
public abstract void await ()
Czekam na uruchomienie algorytmu szeregowania, w tym na zakończenie przekazywania ze starego pliku TF w odpowiednich przypadkach.
displayCommandQueue
public abstract void displayCommandQueue (PrintWriter printWriter)
Przekazuj szczegółowe dane debugowania dotyczące stanu kolejki wykonywania poleceń.
displayCommandsInfo
public abstract void displayCommandsInfo (PrintWriter printWriter, String regex)
Na wyjściu generuje listę bieżących poleceń.
Parametry | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) , do którego mają trafiać dane wyjściowe. |
regex |
String : wyrażenie regularne, do którego należy dopasowywać polecenia, aby zostały
wydrukowane. Jeśli ma wartość null, wszystkie polecenia są drukowane. |
displayInvocationsInfo
public abstract void displayInvocationsInfo (PrintWriter printWriter)
Wyświetla listę bieżących wywołań.
Parametry | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) , do którego mają trafiać dane wyjściowe. |
dumpCommandsXml
public abstract void dumpCommandsXml (PrintWriter printWriter, String regex)
Zrzuć rozwinięty plik XML dla polecenia ze wszystkimi
Dla wszystkich bieżących poleceń określono wartości Option
.
Parametry | |
---|---|
printWriter |
PrintWriter : element ERROR(/PrintWriter) , na który ma trafiać stan. |
regex |
String : wyrażenie regularne, do którego należy dopasowywać polecenia w kolejności dla argumentu
xml do skopiowania. Jeśli ma wartość null, wszystkie polecenia są kopiowane. |
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ń
przy użyciu już istniejącego elementu 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 jest nieprawidłowe |
NoDeviceException |
gdy nie ma urządzenia, którego można użyć |
execCommand
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 , gdzie będą dostępne informacje |
args |
String : argumenty polecenia. |
Zwroty | |
---|---|
long |
Identyfikator wywołania zaplanowanego polecenia. |
Rzuty | |
---|---|
ConfigurationException |
jeśli polecenie jest nieprawidłowe |
NoDeviceException |
gdy nie ma urządzenia, którego można użyć |
execCommand
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener,devices, String[] args)
Wykonaj polecenie bezpośrednio na przydzielonych już urządzeniach.
Parametry | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener , gdzie będą dostępne informacje |
devices |
: element ERROR(/List , którego należy użyć |
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 odpowiednie narzędzie CommandFileWatcher dla tego algorytmu szeregowania
Zwroty | |
---|---|
CommandFileWatcher |
getExecutingCommandCount;
public abstract int getExecutingCommandCount ()
Zwraca liczbę poleceń w stanie wykonania.
Zwroty | |
---|---|
int |
getInvocationInfo
public abstract String getInvocationInfo (int invocationId)
Zwraca informacje o jednostce organizacyjnej wywołania, która zawiera identyfikator wywołania.
Parametry | |
---|---|
invocationId |
int : identyfikator śledzenia wywołania. |
Zwroty | |
---|---|
String |
Pole String zawierające informacje o wywołaniu. |
getLastInvocationExitCode
public abstract CommandRunner.ExitCode getLastInvocationExitCode ()
Zwraca kod błędu ostatniego uruchomionego wywołania. Jeśli żadne wywołanie nie zostało jeszcze uruchomione, zwróć 0 (brak błędu).
Zwroty | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable,
public abstract Throwable getLastInvocationThrowable ()
Zwraca Throwable
z ostatniego uruchomionego wywołania.
Jeśli nie ma dostępnej możliwości zgłoszenia, zwraca wartość null.
Zwroty | |
---|---|
Throwable |
getReadyCommandCount;
public abstract int getReadyCommandCount ()
Zwraca liczbę poleceń w stanie gotowości w kolejce.
Zwroty | |
---|---|
int |
isDeviceInvocationThread
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 ()
Czekam na zakończenie działania algorytmu szeregowania.
Zobacz też:
dołącz
public abstract void join (long millis)
Czekam na zakończenie działania algorytmu szeregowania lub przekroczenie limitu czasu po upływie określonego czasu w milisekundach.
Parametry | |
---|---|
millis |
long |
Zobacz też:
deleteAllCommands
public abstract void removeAllCommands ()
Usuń wszystkie polecenia z algorytmu szeregowania
setClearcutClient
public abstract void setClearcutClient (ClearcutClient client)
Skonfiguruj klienta do raportowania danych o wykorzystywaniu danych
Parametry | |
---|---|
client |
ClearcutClient |
Należy wyłączyć_przy plikuCmdfile
public abstract boolean shouldShutdownOnCmdfileError ()
Zwraca wartość true, jeśli w przypadku błędu polecenia trzeba wyłączyć algorytm szeregowania
Zwroty | |
---|---|
boolean |
Wyłącz
public void shutdown ()
Spróbuj płynnie wyłączyć algorytm szeregowania poleceń.
Usuwa polecenia oczekujące na przetestowanie i żąda zamknięcia wszystkich uruchomionych wywołań z gracją w dół.
Po wywołaniu wyłączenia główna pętla algorytmu szeregowania będzie czekać na wszystkie wywołania w przed jego całkowitym zamknięciem.
Wyłącz
public abstract void shutdown (boolean notifyStop)
Spróbuj płynnie wyłączyć algorytm szeregowania poleceń.
Parametry | |
---|---|
notifyStop |
boolean : jeśli ma wartość prawda, powiadamia o wywołaniach wyłączenia plików TF. |
WyłączenieHard
public abstract void shutdownHard (boolean killAdb)
Spróbuj wymusić wyłączenie algorytmu szeregowania poleceń.
Podobnie jak shutdown()
, ale opcjonalnie spowoduje też zakończenie połączenia adb w
próba „inspirowania” trwalsze wywołania.
Parametry | |
---|---|
killAdb |
boolean |
WyłączenieHard
public abstract void shutdownHard ()
Spróbuj wymusić wyłączenie algorytmu szeregowania poleceń. Taka sama jak w przypadku wyłączaniaHard(prawda).
zamknięcieOnPuste
public abstract void shutdownOnEmpty ()
Podobnie jak shutdown()
, ale będzie czekać na wykonanie wszystkich poleceń
przed wyjściem.
Pamiętaj, że jeśli jakiekolwiek polecenia są w trybie pętli, algorytm szeregowania nigdy nie zostanie zamknięty.
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()
.
zobacz Thread.start()
.
stopInvocation
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ływanie zostało zatrzymane. W przeciwnym razie ma wartość „false” (fałsz). |
Rzuty | |
---|---|
UnsupportedOperationException |
jeśli implementacja nie obsługuje tej funkcji |
stopInvocation
public boolean stopInvocation (int invocationId)
Zatrzymaj uruchomione 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 tej funkcji |
stopInvocation
public abstract boolean stopInvocation (ITestInvocation invocation)
Zatrzymaj uruchomione wywołanie.
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 |
zatrzymaj planowanie
public void stopScheduling ()
Zatrzymuje planowanie i akceptowanie nowych testów, ale nie zatrzymuje Tradefed. Ma to na celu umożliwienie dwuetapowe wyłączenie: najpierw opróżniamy wszystkie uruchomione testy, a potem zamykamy Tradefed proces tworzenia konta.