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 bei Abschluss des Aufrufs. |
Öffentliche Methoden | |
---|---|
abstract
Pair<Boolean, Integer>
|
addCommand(String[] args)
Fügt dem Scheduler einen Befehl hinzu. |
abstract
void
|
addCommandFile(String cmdFile,
Fügen Sie dem Scheduler alle Befehle aus der angegebenen Datei hinzu. |
abstract
void
|
await()
Wartet, bis der Scheduler gestartet wird, einschließlich des Wartens auf die Fertigstellung der Übergabe von der alten TF, falls zutreffend. |
abstract
void
|
displayCommandQueue(PrintWriter printWriter)
Detaillierte Informationen zur Fehlerbehebung zum Status der Befehlsausführungswarteschlange ausgeben. |
abstract
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Liste der aktuellen Befehle ausgeben |
abstract
void
|
displayInvocationsInfo(PrintWriter printWriter)
Eine Liste der aktuellen Aufrufe. |
abstract
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Dump der erweiterten XML-Datei für den Befehl mit allen |
abstract
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Hiermit wird ein Gerät direkt zugewiesen und ein Befehl ausgeführt, ohne ihn der Befehlswarteschlange hinzuzufügen. Dabei wird eine bereits vorhandene |
abstract
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Hiermit wird ein Gerät direkt zugewiesen und ein Befehl ausgeführt, 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,
Befehl direkt auf bereits zugewiesenen Geräten ausführen. |
abstract
CommandFileWatcher
|
getCommandFileWatcher()
Entsprechenden CommandFileWatcher für diesen Planer abrufen |
abstract
int
|
getExecutingCommandCount()
Gibt die Anzahl der Befehle im Ausführungsstatus zurück. |
abstract
String
|
getInvocationInfo(int invocationId)
Gib die Informationen zu einem Aufruf zurück, indem du die Aufruf-ID angibst. |
abstract
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Gibt den Fehlercode der letzten Ausführung zurück. |
abstract
Throwable
|
getLastInvocationThrowable()
Gibt die |
abstract
int
|
getReadyCommandCount()
Gibt die Anzahl der Befehle im Warteschlangenstatus „Bereit“ 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()
Warten, bis der Scheduler abgeschlossen ist. |
abstract
void
|
join(long millis)
Wartet, bis der Scheduler abgeschlossen ist, oder löst nach der in Millisekunden angegebenen Dauer ein Zeitlimit aus. |
abstract
void
|
removeAllCommands()
Alle Befehle aus dem Scheduler entfernen |
abstract
void
|
setClearcutClient(ClearcutClient client)
Den Kunden für die Berichterstellung über die Nutzungsdaten einrichten |
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 zu erzwingen. |
abstract
void
|
shutdownHard()
Versuchen Sie, den Befehlsplaner zu erzwingen. |
abstract
void
|
shutdownOnEmpty()
Ähnlich wie |
abstract
void
|
start()
Starten Sie |
abstract
boolean
|
stopInvocation(int invocationId, String cause)
Sie können eine laufende Aufrufung beenden, indem Sie die ID angeben. |
default
boolean
|
stopInvocation(int invocationId)
Sie können eine laufende Aufrufung beenden, indem Sie die ID angeben. |
abstract
boolean
|
stopInvocation(ITestInvocation invocation)
Beenden Sie einen laufenden Aufruf. |
default
void
|
stopScheduling()
Es werden keine neuen Tests mehr geplant und akzeptiert, Tradefed wird aber nicht beendet. |
Öffentliche Methoden
addCommand
public abstract Pair<Boolean, Integer> addCommand (String[] args)
Fügt dem Scheduler einen Befehl hinzu.
Ein Befehl ist im Wesentlichen eine Instanz einer ausführbaren Konfiguration und die zugehörigen Argumente.
Wenn das Argument „--help“ angegeben ist, wird der Hilfetext für die Konfiguration an stdout ausgegeben. Andernfalls wird die Konfiguration der Warteschlange zum Ausführen 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 Befehlstracker-ID(nicht negativer Wert). Wenn der Befehl erfolgreich hinzugefügt wurde, wird 0 zurückgegeben, wenn der Befehl für alle Geräte hinzugefügt wird. Andernfalls wird -1 zurückgegeben. |
Ausgabe | |
---|---|
ConfigurationException |
if command could not be parsed |
Weitere Informationen
addCommandFile
public abstract void addCommandFile (String cmdFile,extraArgs)
Fügen Sie dem Scheduler alle Befehle aus der angegebenen Datei hinzu.
Parameter | |
---|---|
cmdFile |
String : der Dateisystempfad der comand-Datei |
extraArgs |
: Eine ERROR(/List) von String Argumenten, die jedem aus der Datei geparsten Befehl angehängt werden sollen. Kann leer sein, darf aber nicht null sein. |
Ausgabe | |
---|---|
ConfigurationException |
if command file could not be parsed |
Weitere Informationen:
await
public abstract void await ()
Wartet, bis der Scheduler gestartet wird, einschließlich des Wartens auf die Fertigstellung der Übergabe vom alten TF, falls zutreffend.
displayCommandQueue
public abstract void displayCommandQueue (PrintWriter printWriter)
Detaillierte Informationen zur Fehlerbehebung zum Status der Befehlsausführungswarteschlange ausgeben.
displayCommandsInfo
public abstract void displayCommandsInfo (PrintWriter printWriter, String regex)
Liste der aktuellen Befehle ausgeben
Parameter | |
---|---|
printWriter |
PrintWriter : Der ERROR(/PrintWriter) , in den die Ausgabe erfolgen soll. |
regex |
String : der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollen, damit sie ausgegeben werden. Wenn „null“ angegeben ist, werden alle Befehle ausgegeben. |
displayInvocationsInfo
public abstract void displayInvocationsInfo (PrintWriter printWriter)
Zeigt eine Liste der aktuellen Aufrufe an.
Parameter | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) , in den die Ausgabe erfolgen soll. |
dumpCommandsXml
public abstract void dumpCommandsXml (PrintWriter printWriter, String regex)
Dumpt die erweiterte XML-Datei für den Befehl mit allen Option
-Werten, die für alle aktuellen Befehle angegeben sind.
Parameter | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) , an den der Status ausgegeben werden soll. |
regex |
String : Der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollen, damit die XML-Datei gedumpt wird. Wenn „null“ festgelegt ist, werden alle Befehle gedumpt. |
execCommand
public abstract long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Hiermit wird ein Gerät direkt zugewiesen und ein Befehl ausgeführt, ohne ihn der Befehlswarteschlange hinzuzufügen. Dabei wird eine bereits vorhandene IInvocationContext
verwendet.
Parameter | |
---|---|
context |
IInvocationContext : eine vorhandene IInvocationContext . |
listener |
ICommandScheduler.IScheduledInvocationListener : der zu benachrichtigende ICommandScheduler.IScheduledInvocationListener |
args |
String : die Befehlsargumente |
Returns | |
---|---|
long |
Ausgabe | |
---|---|
ConfigurationException |
Befehl war ungültig |
NoDeviceException |
wenn kein Gerät verwendet werden kann |
execCommand
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Hiermit wird ein Gerät direkt zugewiesen und ein Befehl ausgeführt, ohne ihn der Befehlswarteschlange hinzuzufügen.
Parameter | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : der zu benachrichtigende ICommandScheduler.IScheduledInvocationListener |
args |
String : die Befehlsargumente |
Returns | |
---|---|
long |
Die Aufruf-ID des geplanten Befehls. |
Ausgabe | |
---|---|
ConfigurationException |
Befehl war ungültig |
NoDeviceException |
wenn kein Gerät verwendet werden kann |
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 : die zu informierenden ICommandScheduler.IScheduledInvocationListener |
device |
ITestDevice : die zu verwendende ITestDevice |
args |
String : die Befehlsargumente |
Returns | |
---|---|
long |
Die Aufruf-ID des geplanten Befehls. |
Ausgabe | |
---|---|
ConfigurationException |
if command was invalid |
Befehl ausführen
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener,devices, String[] args)
Befehl direkt auf bereits zugewiesenen Geräten ausführen.
Parameter | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : der zu benachrichtigende ICommandScheduler.IScheduledInvocationListener |
devices |
: der zu verwendende ERROR(/List |
args |
String : die Befehlsargumente |
Returns | |
---|---|
long |
Die Aufruf-ID des geplanten Befehls. |
Ausgabe | |
---|---|
ConfigurationException |
Befehl war ungültig |
getCommandFileWatcher
public abstract CommandFileWatcher getCommandFileWatcher ()
Entsprechenden CommandFileWatcher für diesen Planer abrufen
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, mit dem die Aufruf-ID angegeben wird.
Parameter | |
---|---|
invocationId |
int : die Tracking-ID der Aufrufs. |
Returns | |
---|---|
String |
Einen String mit Informationen zum Aufruf. |
getLastInvocationExitCode
public abstract CommandRunner.ExitCode getLastInvocationExitCode ()
Gibt den Fehlercode des letzten ausgeführten Aufrufs zurück. Gibt 0 (kein Fehler) zurück, wenn noch keine Aufrufe ausgeführt wurden.
Returns | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable (GetLastInvocationThrowable)
public abstract Throwable getLastInvocationThrowable ()
Gibt die Throwable
aus der letzten Ausführung zurück.
Gibt null zurück, wenn kein throwable verfügbar ist.
Returns | |
---|---|
Throwable |
getReadyCommandCount
public abstract int getReadyCommandCount ()
Gibt die Anzahl der Befehle im Warteschlangenstatus „Bereit“ 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 ()
Warten, bis der Scheduler abgeschlossen ist.
Weitere Informationen
zu betreten
public abstract void join (long millis)
Wartet, bis der Scheduler abgeschlossen ist, oder löst nach der in Millisekunden angegebenen Dauer ein Zeitlimit aus.
Parameter | |
---|---|
millis |
long |
Weitere Informationen:
removeAllCommands
public abstract void removeAllCommands ()
Alle Befehle aus dem Scheduler entfernen
setClearcutClient
public abstract void setClearcutClient (ClearcutClient client)
Client so einstellen, dass Harness-Daten erfasst werden
Parameter | |
---|---|
client |
ClearcutClient |
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 zum Testen warten, und fordert an, dass alle laufenden Aufrufe ordnungsgemäß heruntergefahren werden.
Nach dem Aufruf von „shutdown“ wartet der Haupt-Loop des Schedulers, bis alle laufenden Aufrufe abgeschlossen sind, bevor er vollständig beendet wird.
Herunterfahren
public abstract void shutdown (boolean notifyStop)
Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.
Parameter | |
---|---|
notifyStop |
boolean : Wenn „true“, werden Aufrufe des TF-Herunterfahrens benachrichtigt. |
shutdownHard
public abstract void shutdownHard (boolean killAdb)
Versuchen Sie, den Befehlsplaner zu erzwingen.
Ähnlich wie shutdown()
, unterbricht aber auch optional die ADB-Verbindung, um laufende Aufrufe zu „inspirieren“, um den Vorgang schneller abzuschließen.
Parameter | |
---|---|
killAdb |
boolean |
shutdownHard
public abstract void shutdownHard ()
Versuchen Sie, den Befehlsplaner zu erzwingen. Entspricht shutdownHard(true).
shutdownOnEmpty
public abstract void shutdownOnEmpty ()
Ähnlich wie shutdown()
, wartet aber, bis alle Befehle ausgeführt wurden, bevor das Programm beendet wird.
Wenn Befehle im Loop-Modus sind, 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 eine laufende Aufrufung beenden, indem Sie die ID angeben.
Parameter | |
---|---|
invocationId |
int : die Tracking-ID des Aufrufs. |
cause |
String : Der Grund für das Beenden der 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 eine laufende Aufrufung beenden, indem Sie die 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)
Laufende Aufrufe 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 ()
Neue Tests werden nicht mehr geplant und akzeptiert, Tradefed wird aber nicht beendet. So soll ein zweistufiger Herunterfahrvorgang ermöglicht werden, bei dem zuerst alle laufenden Tests beendet und dann der Tradefed-Prozess beendet wird.