ICommandScheduler
public
interface
ICommandScheduler
| com.android.tradefed.command.ICommandScheduler |
Ein Scheduler zum Ausführen von TradeFederation-Befehlen.
Zusammenfassung
Verschachtelte Klassen | |
|---|---|
interface |
ICommandScheduler.IScheduledInvocationListener
Listener für Aufrufereignisse, wenn der Aufruf abgeschlossen ist. |
Öffentliche Methoden | |
|---|---|
abstract
Pair<Boolean, Integer>
|
addCommand(String[] args)
Fügt dem Scheduler einen Befehl hinzu. |
abstract
void
|
addCommandFile(String cmdFile,
Fügt alle Befehle aus der angegebenen Datei dem Scheduler hinzu. |
abstract
void
|
await()
Wartet, bis der Scheduler mit der Ausführung beginnt, einschließlich des Wartens auf die Übergabe vom alten TF, falls zutreffend. |
abstract
void
|
displayCommandQueue(PrintWriter printWriter)
Gibt detaillierte Debugging-Informationen zum Status der Befehlsausführungswarteschlange aus. |
abstract
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Eine Liste der aktuellen Befehle ausgeben. |
abstract
void
|
displayInvocationsInfo(PrintWriter printWriter)
Zeigt eine Liste der aktuellen Aufrufe an. |
abstract
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Geben Sie die erweiterte XML-Datei für den Befehl mit allen |
abstract
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Weist ein Gerät direkt zu und führt einen Befehl aus, ohne es mit einem bereits vorhandenen |
abstract
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Weist ein Gerät direkt zu und führt einen Befehl aus, ohne ihn der Befehlswarteschlange hinzuzufügen. |
abstract
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Befehl direkt auf einem bereits zugewiesenen Gerät ausführen. |
abstract
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
Befehle direkt auf bereits zugewiesenen Geräten ausführen. |
abstract
CommandFileWatcher
|
getCommandFileWatcher()
Rufen Sie den entsprechenden CommandFileWatcher für diesen Scheduler ab. |
abstract
int
|
getExecutingCommandCount()
Gibt die Anzahl der Befehle im Ausführungsstatus zurück. |
abstract
String
|
getInvocationInfo(int invocationId)
Gibt die Informationen zu einem Aufruf zurück, indem die Aufruf-ID angegeben wird. |
abstract
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Gibt den Fehlercode des letzten Aufrufs zurück, der ausgeführt wurde. |
abstract
Throwable
|
getLastInvocationThrowable()
Gibt den |
abstract
int
|
getReadyCommandCount()
Gibt die Anzahl der Befehle im Status „Bereit“ in der Warteschlange zurück. |
abstract
boolean
|
isDeviceInInvocationThread(ITestDevice device)
Gibt „true“ zurück, wenn das Gerät von einem aktiven Aufruf-Thread verwendet wird. |
abstract
void
|
join()
Wartet, bis der Scheduler abgeschlossen ist. |
abstract
void
|
join(long millis)
Wartet, bis der Scheduler abgeschlossen ist oder das Zeitlimit nach der in Millisekunden angegebenen Dauer überschritten wird. |
abstract
void
|
removeAllCommands()
Alle Befehle aus dem Planer entfernen |
abstract
void
|
setClearcutClient(ClearcutClient client)
Client für die Meldung von Harness-Daten festlegen |
default
void
|
setMaxPollTime(long polling)
|
default
void
|
setPrintSchedulingWarning(boolean print)
|
abstract
boolean
|
shouldShutdownOnCmdfileError()
Gibt „true“ zurück, wenn der Scheduler bei einem Befehlsfehler heruntergefahren werden muss. |
default
void
|
shutdown()
Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren. |
abstract
void
|
shutdown(boolean notifyStop)
Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren. |
abstract
void
|
shutdownHard(boolean killAdb)
Versuchen Sie, den Befehlsplaner zwangsweise zu beenden. |
abstract
void
|
shutdownHard()
Versuchen Sie, den Befehlsplaner zwangsweise zu beenden. |
abstract
void
|
shutdownOnEmpty()
Ähnlich wie |
abstract
void
|
start()
Starten Sie |
abstract
boolean
|
stopInvocation(int invocationId, String cause)
Sie können einen laufenden Aufruf beenden, indem Sie seine ID angeben. |
default
boolean
|
stopInvocation(int invocationId)
Sie können einen laufenden Aufruf beenden, indem Sie seine ID angeben. |
abstract
boolean
|
stopInvocation(ITestInvocation invocation)
Laufenden Aufruf beenden |
default
void
|
stopScheduling()
Es werden keine neuen Tests mehr geplant und akzeptiert, Tradefed wird jedoch nicht beendet. |
Öffentliche Methoden
addCommand
public abstract Pair<Boolean, Integer> addCommand (String[] args)
Fügt dem Scheduler einen Befehl hinzu.
Ein Befehl ist im Grunde eine Instanz einer Konfiguration, die ausgeführt werden soll, und die zugehörigen Argumente.
Wenn das Argument „--help“ angegeben ist, wird der Hilfetext für die Konfiguration in stdout ausgegeben. Andernfalls wird die Konfiguration der Warteschlange hinzugefügt.
| Parameter | |
|---|---|
args |
String: die Konfigurationsargumente. |
| Returns | |
|---|---|
Pair<Boolean, Integer> |
Ein Wertepaar. Der erste Wert ist ein boolescher Wert true, wenn der Befehl erfolgreich hinzugefügt wurde. Der zweite Wert ist die bekannte Tracker-ID des Befehls(nicht negativer Wert), wenn der Befehl erfolgreich hinzugefügt wurde. Bei Befehlen, die für alle Geräte hinzugefügt werden, wird 0 zurückgegeben, andernfalls -1. |
| Ausgabe | |
|---|---|
ConfigurationException |
wenn der Befehl nicht geparst werden konnte |
Weitere Informationen
addCommandFile
public abstract void addCommandFile (String cmdFile,
extraArgs) Fügt alle Befehle aus der angegebenen Datei dem Scheduler hinzu.
| Parameter | |
|---|---|
cmdFile |
String: der Dateisystempfad der Befehlsdatei |
extraArgs |
: Eine ERROR(/List) mit String-Argumenten, die an jeden aus der Datei geparsten Befehl angehängt werden sollen. Kann leer sein, darf aber nicht null sein. |
| Ausgabe | |
|---|---|
ConfigurationException |
wenn die Befehlsdatei nicht geparst werden konnte |
Weitere Informationen
await
public abstract void await ()
Wartet, bis der Planer mit der Ausführung beginnt, einschließlich des Wartens auf die Übergabe vom alten TF, falls zutreffend.
displayCommandQueue
public abstract void displayCommandQueue (PrintWriter printWriter)
Gibt detaillierte Debugging-Informationen zum Status der Befehlsausführungswarteschlange aus.
displayCommandsInfo
public abstract void displayCommandsInfo (PrintWriter printWriter,
String regex)Eine Liste der aktuellen Befehle ausgeben.
| Parameter | |
|---|---|
printWriter |
PrintWriter: Die ERROR(/PrintWriter), in die die Ausgabe geschrieben werden soll. |
regex |
String: Der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollen, damit sie ausgegeben werden. Wenn „null“, werden alle Befehle ausgegeben. |
displayInvocationsInfo
public abstract void displayInvocationsInfo (PrintWriter printWriter)
Zeigt eine Liste der aktuellen Aufrufe an.
| Parameter | |
|---|---|
printWriter |
PrintWriter: Die ERROR(/PrintWriter), in die die Ausgabe geschrieben werden soll. |
dumpCommandsXml
public abstract void dumpCommandsXml (PrintWriter printWriter,
String regex)Geben Sie die erweiterte XML-Datei für den Befehl mit allen Option-Werten aus, die für alle aktuellen Befehle angegeben sind.
| Parameter | |
|---|---|
printWriter |
PrintWriter: Die ERROR(/PrintWriter), in die der Status ausgegeben werden soll. |
regex |
String: Der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollen, damit die XML-Datei ausgegeben wird. Wenn „null“, werden alle Befehle ausgegeben. |
execCommand
public abstract long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Weist ein Gerät direkt zu und führt einen Befehl aus, ohne es mit einem bereits vorhandenen IInvocationContext der Befehlswarteschlange hinzuzufügen.
| Parameter | |
|---|---|
context |
IInvocationContext: ein vorhandenes IInvocationContext. |
listener |
ICommandScheduler.IScheduledInvocationListener: Der ICommandScheduler.IScheduledInvocationListener, der benachrichtigt werden soll |
args |
String: die Befehlsargumente |
| Returns | |
|---|---|
long |
|
| Ausgabe | |
|---|---|
ConfigurationException |
wenn der Befehl ungültig war |
NoDeviceException |
wenn kein Gerät zur Verfügung steht |
execCommand
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Weist ein Gerät direkt zu und führt einen Befehl aus, ohne ihn der Befehlswarteschlange hinzuzufügen.
| Parameter | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: Der ICommandScheduler.IScheduledInvocationListener, der benachrichtigt werden soll |
args |
String: die Befehlsargumente |
| Returns | |
|---|---|
long |
Die Aufruf-ID des geplanten Befehls. |
| Ausgabe | |
|---|---|
ConfigurationException |
wenn der Befehl ungültig war |
NoDeviceException |
wenn kein Gerät zur Verfügung steht |
execCommand
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Befehl direkt auf einem bereits zugewiesenen Gerät ausführen.
| Parameter | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: der ICommandScheduler.IScheduledInvocationListener, der benachrichtigt werden soll |
device |
ITestDevice: die zu verwendende ITestDevice |
args |
String: die Befehlsargumente |
| Returns | |
|---|---|
long |
Die Aufruf-ID des geplanten Befehls. |
| Ausgabe | |
|---|---|
ConfigurationException |
wenn der Befehl ungültig war |
execCommand
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener,devices, String[] args)
Befehle direkt auf bereits zugewiesenen Geräten ausführen.
| Parameter | |
|---|---|
listener |
ICommandScheduler.IScheduledInvocationListener: Der ICommandScheduler.IScheduledInvocationListener, der benachrichtigt werden soll |
devices |
: die zu verwendende ERROR(/List |
args |
String: die Befehlsargumente |
| Returns | |
|---|---|
long |
Die Aufruf-ID des geplanten Befehls. |
| Ausgabe | |
|---|---|
ConfigurationException |
wenn der Befehl ungültig war |
getCommandFileWatcher
public abstract CommandFileWatcher getCommandFileWatcher ()
Rufen Sie den entsprechenden CommandFileWatcher für diesen Scheduler ab.
| Returns | |
|---|---|
CommandFileWatcher |
|
getExecutingCommandCount
public abstract int getExecutingCommandCount ()
Gibt die Anzahl der Befehle im Ausführungsstatus zurück.
| Returns | |
|---|---|
int |
|
getInvocationInfo
public abstract String getInvocationInfo (int invocationId)
Gibt die Informationen zu einem Aufruf zurück, indem die Aufruf-ID angegeben wird.
| Parameter | |
|---|---|
invocationId |
int: Die Tracking-ID des Aufrufs. |
| Returns | |
|---|---|
String |
Ein String mit Informationen zum Aufruf. |
getLastInvocationExitCode
public abstract CommandRunner.ExitCode getLastInvocationExitCode ()
Gibt den Fehlercode des letzten Aufrufs zurück, der ausgeführt wurde. Gibt 0 (kein Fehler) zurück, wenn noch kein Aufruf ausgeführt wurde.
| Returns | |
|---|---|
CommandRunner.ExitCode |
|
getLastInvocationThrowable
public abstract Throwable getLastInvocationThrowable ()
Gibt den Throwable des letzten Aufrufs zurück.
Gibt „null“ zurück, wenn keine Ausnahme verfügbar ist.
| Returns | |
|---|---|
Throwable |
|
getReadyCommandCount
public abstract int getReadyCommandCount ()
Gibt die Anzahl der Befehle im Status „Bereit“ in der Warteschlange zurück.
| Returns | |
|---|---|
int |
|
isDeviceInInvocationThread
public abstract boolean isDeviceInInvocationThread (ITestDevice device)
Gibt „true“ zurück, wenn das Gerät von einem aktiven Aufruf-Thread verwendet wird.
| Parameter | |
|---|---|
device |
ITestDevice |
| Returns | |
|---|---|
boolean |
|
zu betreten
public abstract void join ()
Wartet, bis der Scheduler abgeschlossen ist.
Weitere Informationen
zu betreten
public abstract void join (long millis)
Wartet, bis der Scheduler abgeschlossen ist oder das Zeitlimit nach der in Millisekunden angegebenen Dauer überschritten wird.
| Parameter | |
|---|---|
millis |
long |
Weitere Informationen
removeAllCommands
public abstract void removeAllCommands ()
Alle Befehle aus dem Planer entfernen
setClearcutClient
public abstract void setClearcutClient (ClearcutClient client)
Client für die Meldung von Harness-Daten festlegen
| Parameter | |
|---|---|
client |
ClearcutClient |
setMaxPollTime
public void setMaxPollTime (long polling)
| Parameter | |
|---|---|
polling |
long |
setPrintSchedulingWarning
public void setPrintSchedulingWarning (boolean print)
| Parameter | |
|---|---|
print |
boolean |
shouldShutdownOnCmdfileError
public abstract boolean shouldShutdownOnCmdfileError ()
Gibt „true“ zurück, wenn der Scheduler bei einem Befehlsfehler heruntergefahren werden muss.
| Returns | |
|---|---|
boolean |
|
Herunterfahren
public void shutdown ()
Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.
Löscht Befehle, die auf den Test warten, und fordert an, dass alle laufenden Aufrufe ordnungsgemäß beendet werden.
Nachdem „shutdown“ aufgerufen wurde, wartet die Hauptschleife des Schedulers, bis alle laufenden Aufrufe abgeschlossen sind, bevor sie vollständig beendet wird.
Herunterfahren
public abstract void shutdown (boolean notifyStop)
Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.
| Parameter | |
|---|---|
notifyStop |
boolean: Wenn „true“, werden Aufrufe über das Herunterfahren von TF benachrichtigt. |
shutdownHard
public abstract void shutdownHard (boolean killAdb)
Versuchen Sie, den Befehlsplaner zwangsweise zu beenden.
Ähnlich wie shutdown(), aber die ADB-Verbindung wird optional auch beendet, um laufende Aufrufe schneller abzuschließen.
| Parameter | |
|---|---|
killAdb |
boolean |
shutdownHard
public abstract void shutdownHard ()
Versuchen Sie, den Befehlsplaner zwangsweise zu beenden. Identisch mit shutdownHard(true).
shutdownOnEmpty
public abstract void shutdownOnEmpty ()
Ähnlich wie shutdown(), wartet aber, bis alle Befehle ausgeführt wurden, bevor es beendet wird.
Wenn sich Befehle im Schleifenmodus befinden, wird der Scheduler nie beendet.
start
public abstract void start ()
Starten Sie ICommandScheduler.
Muss vor dem Aufrufen anderer Methoden aufgerufen werden.
Wird ausgeführt, bis shutdown() aufgerufen wird.
siehe Thread.start().
stopInvocation
public abstract boolean stopInvocation (int invocationId,
String cause)Sie können einen laufenden Aufruf beenden, indem Sie seine ID angeben.
| Parameter | |
|---|---|
invocationId |
int: Die Tracking-ID des Aufrufs. |
cause |
String: Der Grund für das Beenden des Aufrufs. |
| Returns | |
|---|---|
boolean |
„true“, wenn der Aufruf beendet wurde, andernfalls „false“ |
| Ausgabe | |
|---|---|
UnsupportedOperationException |
wenn die Implementierung dies nicht unterstützt. |
stopInvocation
public boolean stopInvocation (int invocationId)
Sie können einen laufenden Aufruf beenden, indem Sie seine ID angeben.
| Parameter | |
|---|---|
invocationId |
int |
| Returns | |
|---|---|
boolean |
„true“, wenn der Aufruf beendet wurde, andernfalls „false“ |
| Ausgabe | |
|---|---|
UnsupportedOperationException |
wenn die Implementierung dies nicht unterstützt. |
stopInvocation
public abstract boolean stopInvocation (ITestInvocation invocation)
Laufenden Aufruf beenden
| Parameter | |
|---|---|
invocation |
ITestInvocation |
| Returns | |
|---|---|
boolean |
„true“, wenn der Aufruf beendet wurde, andernfalls „false“ |
| Ausgabe | |
|---|---|
UnsupportedOperationException |
wenn die Implementierung dies nicht unterstützt. |
stopScheduling
public void stopScheduling ()
Es werden keine neuen Tests mehr geplant und akzeptiert, Tradefed wird jedoch nicht beendet. Dadurch soll ein zweistufiges Herunterfahren ermöglicht werden, bei dem zuerst alle laufenden Tests beendet und dann der Tradefed-Prozess beendet wird.