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, extraArgs)

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 Option-Werten aus, die für alle aktuellen Befehle angegeben sind.

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.

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, devices, String[] args)

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 Throwable des letzten Aufrufs zurück.

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 shutdown(), wartet aber, bis alle Befehle ausgeführt wurden, bevor es beendet wird.

abstract void start()

Starten Sie ICommandScheduler.

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

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.