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

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

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.

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

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 Throwable aus der letzten Ausführung zurück.

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

abstract void start()

Starten Sie ICommandScheduler.

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

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.