CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
| java.lang.Object | |
| ↳ | com.android.tradefed.command.CommandScheduler |
Harmonogram uruchamiania poleceń TradeFederation na wszystkich dostępnych urządzeniach.
Będzie próbować nadawać priorytet poleceniom do uruchomienia na podstawie łącznej liczby wykonanych poleceń. Na przykład polecenia rzadko wykonywane lub szybko działające będą miały wyższy priorytet niż polecenia długo działające.
Działa w tle bezterminowo do momentu wyłączenia.
Podsumowanie
Publiczne konstruktory | |
|---|---|
CommandScheduler()
Tworzy |
|
Metody publiczne | |
|---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
Dodaje polecenie do harmonogramu. |
void
|
addCommandFile(String cmdFilePath,
Dodaje do harmonogramu wszystkie polecenia z danego pliku. |
void
|
await()
Czeka na rozpoczęcie działania algorytmu szeregowania, w tym na zakończenie przekazywania danych ze starego TF, jeśli ma to zastosowanie. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Utwórz delegatora w wierszu poleceń, aby sprawdzić, czy musimy delegować uruchomienie. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Utwórz mapę stanu urządzeń, aby można było je odpowiednio zwolnić. |
ISandbox
|
createSandbox()
Utwórz |
void
|
displayCommandQueue(PrintWriter printWriter)
Wyświetla szczegółowe informacje o debugowaniu stanu kolejki wykonywania poleceń. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Wyświetl listę bieżących poleceń. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Wyświetla listę bieżących wywołań. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Wyeksportuj rozwinięty plik XML polecenia ze wszystkimi wartościami |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Bezpośrednie wykonywanie poleceń na urządzeniu, które zostało już przydzielone. |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
Bezpośrednie wykonywanie poleceń na urządzeniach, które zostały już przydzielone. |
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 istniejącego już |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Bezpośrednio przydziela urządzenie i wykonuje polecenie bez dodawania go do kolejki poleceń. |
CommandFileWatcher
|
getCommandFileWatcher()
Pobierz odpowiedni obiekt CommandFileWatcher dla tego harmonogramu |
int
|
getExecutingCommandCount()
Zwraca liczbę poleceń w stanie wykonywania. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Zwraca informacje o wywołaniu, podając jego identyfikator. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Zwraca kod błędu ostatniego wywołania, które zostało uruchomione. |
Throwable
|
getLastInvocationThrowable()
Zwraca |
int
|
getReadyCommandCount()
Zwraca liczbę poleceń w stanie gotowości w kolejce. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
Zwraca wartość „prawda”, jeśli urządzenie jest używane przez aktywny wątek wywołania. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Usuwanie wszystkich poleceń z harmonogramu |
void
|
run()
Główny blok wykonywania tego wątku. |
void
|
setClearcutClient(ClearcutClient client)
Konfigurowanie klienta pod kątem raportowania danych uprzęży |
void
|
setMaxPollTime(long polling)
|
void
|
setPrintSchedulingWarning(boolean print)
|
boolean
|
shouldShutdownOnCmdfileError()
Zwraca wartość „true”, jeśli w przypadku błędów poleceń należy zamknąć harmonogram. |
void
|
shutdown(boolean notifyStop)
Spróbuj płynnie wyłączyć harmonogram poleceń. |
void
|
shutdownHard(boolean killAdb)
Próba wymuszonego zamknięcia harmonogramu poleceń. |
void
|
shutdownHard()
Próba wymuszonego zamknięcia harmonogramu poleceń. |
void
|
shutdownOnEmpty()
Podobne do |
void
|
start()
Uruchamia harmonogram, w tym konfiguruje rejestrowanie, inicjuje |
boolean
|
stopInvocation(ITestInvocation invocation)
Zatrzymywanie uruchomionego wywołania |
boolean
|
stopInvocation(int invocationId, String cause)
Zatrzymaj trwające wywołanie, podając jego identyfikator. |
void
|
stopScheduling()
Zatrzymuje planowanie i akceptowanie nowych testów, ale nie zatrzymuje Tradefed. |
Publiczne konstruktory
CommandScheduler
public CommandScheduler ()
Tworzy CommandScheduler.
Uwaga: przed użyciem należy wywołać funkcję start.
Metody publiczne
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
Dodaje polecenie do harmonogramu.
Polecenie to w zasadzie instancja konfiguracji do uruchomienia i powiązane z nią argumenty.
Jeśli podany jest argument „--help”, tekst pomocy dotyczący konfiguracji zostanie wyświetlony w standardowym wyjściu. W przeciwnym razie konfiguracja zostanie dodana do kolejki do uruchomienia.
| Parametry | |
|---|---|
args |
String: argumenty konfiguracji. |
| Zwroty | |
|---|---|
Pair<Boolean, Integer> |
Para wartości. Pierwsza wartość to wartość logiczna true, jeśli polecenie zostało dodane. Druga wartość to znany identyfikator śledzenia poleceń(wartość nieujemna), jeśli polecenie zostało dodane, 0, jeśli polecenie zostało dodane na wszystkich urządzeniach, lub -1. |
| Zgłasza | |
|---|---|
ConfigurationException |
|
addCommandFile
public void addCommandFile (String cmdFilePath,
extraArgs) Dodaje do harmonogramu wszystkie polecenia z danego pliku.
| Parametry | |
|---|---|
cmdFilePath |
String: ścieżka systemu plików do pliku polecenia |
extraArgs |
: ERROR(/List) argumentów String dołącza do każdego polecenia przeanalizowanego z pliku. Może być puste, ale nie może mieć wartości null. |
| Zgłasza | |
|---|---|
ConfigurationException |
|
oczekiwać,
public void await ()
Czeka na rozpoczęcie działania algorytmu szeregowania, w tym na zakończenie przekazywania danych ze starego TF, jeśli ma to zastosowanie.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Utwórz delegatora na podstawie wiersza poleceń, aby sprawdzić, czy musimy delegować uruchomienie.
| Parametry | |
|---|---|
args |
String |
| Zwroty | |
|---|---|
TradefedDelegator |
|
| Zgłasza | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Utwórz mapę stanu urządzeń, aby można było je odpowiednio zwolnić.
| Parametry | |
|---|---|
context |
IInvocationContext |
e |
Throwable |
| Zwroty | |
|---|---|
|
|
createSandbox
public ISandbox createSandbox ()
Utwórz ISandbox, która będzie używana do uruchamiania wywołania.
| Zwroty | |
|---|---|
ISandbox |
|
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Wyświetla szczegółowe informacje o debugowaniu stanu kolejki wykonywania poleceń.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter,
String regex)Wyświetl listę bieżących poleceń.
| Parametry | |
|---|---|
printWriter |
PrintWriter: ERROR(/PrintWriter), do którego ma być wysyłane wyjście. |
regex |
String: wyrażenie regularne, do którego polecenia powinny być dopasowywane, aby można je było wydrukować. Jeśli wartość to null, zostaną wydrukowane wszystkie polecenia. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Wyświetla listę bieżących wywołań.
| Parametry | |
|---|---|
printWriter |
PrintWriter: ERROR(/PrintWriter), do którego ma być wysyłane wyjście. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter,
String regex)Wyeksportuj 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ć wysyłany stan. |
regex |
String: wyrażenie regularne, z którym polecenia powinny być zgodne, aby można było zrzucić plik XML. Jeśli wartość to null, zostaną zrzucone wszystkie polecenia. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Bezpośrednie wykonywanie poleceń na urządzeniu, które zostało już przydzielone.
| Parametry | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, które ma otrzymać powiadomienie |
device |
ITestDevice: ITestDevice, którego chcesz użyć |
args |
String: argumenty polecenia |
| Zwroty | |
|---|---|
long |
Identyfikator wywołania zaplanowanego polecenia. |
| Zgłasza | |
|---|---|
ConfigurationException |
|
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Bezpośrednie wykonywanie poleceń na urządzeniach, które zostały już przydzielone.
| Parametry | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, które ma otrzymać powiadomienie |
reservedDevices |
: ERROR(/List, którego chcesz użyć |
args |
String: argumenty polecenia |
| Zwroty | |
|---|---|
long |
Identyfikator wywołania zaplanowanego polecenia. |
| Zgłasza | |
|---|---|
ConfigurationException |
|
execCommand
public 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 istniejącego już IInvocationContext.
| Parametry | |
|---|---|
context |
IInvocationContext: istniejący IInvocationContext. |
listener |
ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, które ma otrzymać powiadomienie |
args |
String: argumenty polecenia |
| Zwroty | |
|---|---|
long |
|
| Zgłasza | |
|---|---|
ConfigurationException |
|
NoDeviceException |
|
execCommand
public 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óre ma otrzymać powiadomienie |
args |
String: argumenty polecenia |
| Zwroty | |
|---|---|
long |
Identyfikator wywołania zaplanowanego polecenia. |
| Zgłasza | |
|---|---|
ConfigurationException |
|
NoDeviceException |
|
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Pobierz odpowiedni obiekt CommandFileWatcher dla tego harmonogramu
| Zwroty | |
|---|---|
CommandFileWatcher |
|
getExecutingCommandCount
public int getExecutingCommandCount ()
Zwraca liczbę poleceń w stanie wykonywania.
| Zwroty | |
|---|---|
int |
|
getInvocationInfo
public 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 CommandRunner.ExitCode getLastInvocationExitCode ()
Zwraca kod błędu ostatniego wywołania, które zostało uruchomione. Zwraca 0 (brak błędu), jeśli nie uruchomiono jeszcze żadnego wywołania.
| Zwroty | |
|---|---|
CommandRunner.ExitCode |
|
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Zwraca Throwable z ostatniego wywołania, które zostało uruchomione.
Zwraca wartość null, jeśli nie ma obiektu throwable.
| Zwroty | |
|---|---|
Throwable |
|
getReadyCommandCount
public int getReadyCommandCount ()
Zwraca liczbę poleceń w stanie gotowości w kolejce.
| Zwroty | |
|---|---|
int |
|
getShutdownTimeout
public long getShutdownTimeout ()
| Zwroty | |
|---|---|
long |
|
isDeviceInInvocationThread
public 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 |
|
isShuttingDown
public boolean isShuttingDown ()
| Zwroty | |
|---|---|
boolean |
|
notifyFileChanged
public void notifyFileChanged (File cmdFile,
extraArgs) | Parametry | |
|---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Usuwanie wszystkich poleceń z harmonogramu
home run
public void run ()
Główny blok wykonywania tego wątku.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Konfigurowanie klienta pod kątem raportowania danych uprzęży
| Parametry | |
|---|---|
client |
ClearcutClient |
setMaxPollTime
public void setMaxPollTime (long polling)
| Parametry | |
|---|---|
polling |
long |
setPrintSchedulingWarning
public void setPrintSchedulingWarning (boolean print)
| Parametry | |
|---|---|
print |
boolean |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Zwraca wartość „true”, jeśli w przypadku błędów poleceń należy zamknąć harmonogram.
| Zwroty | |
|---|---|
boolean |
|
wyłączenie,
public void shutdown (boolean notifyStop)
Spróbuj płynnie wyłączyć harmonogram poleceń.
| Parametry | |
|---|---|
notifyStop |
boolean: jeśli ma wartość true, powiadamia o wywołaniach zamknięcia TF. |
shutdownHard
public void shutdownHard (boolean killAdb)
Próba wymuszonego zamknięcia harmonogramu poleceń.
Podobne do shutdown(), ale opcjonalnie zamyka też połączenie adb, aby „zachęcić” trwające wywołania do szybszego zakończenia.
| Parametry | |
|---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
Próba wymuszonego zamknięcia harmonogramu poleceń. Tak samo jak shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
Podobne do shutdown(), ale przed zakończeniem działania poczeka na wykonanie wszystkich poleceń.
Pamiętaj, że jeśli jakiekolwiek polecenia są w trybie pętli, harmonogram nigdy się nie zakończy.
rozpocznij
public void start ()
Uruchamia harmonogram, w tym konfiguruje rejestrowanie, inicjuje DeviceManager itp.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Zatrzymywanie uruchomionego wywołania
| Parametry | |
|---|---|
invocation |
ITestInvocation |
| Zwroty | |
|---|---|
boolean |
wartość true, jeśli wywołanie zostało zatrzymane, w przeciwnym razie wartość false; |
stopInvocation
public boolean stopInvocation (int invocationId,
String cause)Zatrzymaj trwają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; |
stopScheduling
public void stopScheduling ()
Zatrzymuje planowanie i akceptowanie nowych testów, ale nie zatrzymuje Tradefed. Ma to umożliwić dwuetapowe wyłączanie, w którym najpierw kończymy wszystkie uruchomione testy, a potem zamykamy proces Tradefed.
Metody chronione
cleanUp
protected void cleanUp ()
Zamyka dzienniki i wykonuje inne niezbędne czynności przed zakończeniem działania.
Udostępniane, aby testy jednostkowe mogły je symulować.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
| Parametry | |
|---|---|
args |
String |
| Zwroty | |
|---|---|
IConfiguration |
|
| Zgłasza | |
|---|---|
ConfigurationException |
|
createInvocationContext
protected IInvocationContext createInvocationContext ()
| Zwroty | |
|---|---|
IInvocationContext |
|
dryRunCommandReporting
protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)
Określa, czy dane polecenie jest testowe. Jeśli polecenie jest uruchomieniem próbnym, sprawdź je. Jeśli wystąpią problemy z konfiguracją, zostanie zgłoszony wyjątek ConfigurationException.
| Parametry | |
|---|---|
handler |
ICommandScheduler.IScheduledInvocationListener: ERROR(/InvocationEventHandler) – do raportowania zdarzeń na potrzeby weryfikacji próbnej. |
config |
IConfiguration |
| Zwroty | |
|---|---|
void |
wartość true, jeśli polecenie jest uruchomieniem próbnym, w przeciwnym razie wartość false. |
| Zgłasza | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
execCommand
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
| Parametry | |
|---|---|
context |
IInvocationContext |
listener |
ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
|
args |
String |
| Zwroty | |
|---|---|
long |
|
| Zgłasza | |
|---|---|
ConfigurationException |
|
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Metoda fabryczna uzyskiwania odwołania do IConfigurationFactory
| Zwroty | |
|---|---|
IConfigurationFactory |
IConfigurationFactory do korzystania |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
| Zwroty | |
|---|---|
DeviceManagementGrpcServer |
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
Metoda fabryczna uzyskiwania odwołania do IDeviceManager
| Zwroty | |
|---|---|
IDeviceManager |
IDeviceManager do korzystania |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Pobiera obiekt IKeyStoreClient za pomocą obiektu IKeyStoreFactory zadeklarowanego w IGlobalConfiguration lub wartość null, jeśli nie zdefiniowano żadnego obiektu.
| Zwroty | |
|---|---|
IKeyStoreClient |
IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
| Zwroty | |
|---|---|
TestInvocationManagementServer |
|
initLogging
protected void initLogging ()
Inicjuje dziennik ddmlib.
Udostępniane, aby testy jednostkowe mogły je symulować.
isShutdown
protected boolean isShutdown ()
| Zwroty | |
|---|---|
boolean |
|
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
| Parametry | |
|---|---|
manager |
IDeviceManager |