ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Ein Planer 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ügen Sie dem Scheduler alle Befehle aus der angegebenen Datei hinzu.

abstract void await()

Wartet auf den Beginn der Ausführung des Planers, einschließlich Warten auf den Abschluss 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)

Dumpt die erweiterte 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 des letzten ausgeführten Aufrufs zurück.

abstract Throwable getLastInvocationThrowable()

Gibt die Throwable aus der letzten Ausführung 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()

Warten, bis der Scheduler abgeschlossen ist.

abstract void join(long millis)

Wartet auf den Abschluss des Planers oder auf das Zeitlimit nach dem angegebenen Zeitraum in Millisekunden.

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, das Herunterfahren des Befehlsplaners 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 die ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Beenden Sie einen laufenden Aufruf, indem Sie seine ID angeben.

default boolean stopInvocation(int invocationId)

Beenden Sie einen laufenden Aufruf, indem Sie seine ID angeben.

abstract boolean stopInvocation(ITestInvocation invocation)

Laufende Aufrufe beenden

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 auszuführenden Konfiguration und die zugehörigen Argumente.

Wenn das Argument „--help“ angegeben wird, wird der Hilfetext für die Konfiguration auf 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 Befehls-Tracker-ID(nicht negativ), wenn der Befehl erfolgreich hinzugefügt wurde. Wenn der Befehl für alle Geräte hinzugefügt wurde, wird „0“ zurückgegeben, andernfalls „-1“.

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:

warten

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)

Eine Liste der aktuellen Aufrufe.

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), auf das der Status ausgegeben werden soll.

regex String: der reguläre Ausdruck, mit dem Befehle abgeglichen werden müssen, damit die XML-Datei ausgegeben wird. Wenn „null“ festgelegt ist, werden alle Befehle gedumpt.

execCommand

public abstract long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Ordnet ein Gerät direkt zu und führt einen Befehl aus, ohne es mit einem bereits vorhandenen IInvocationContext zur Befehlswarteschlange hinzuzufügen.

Parameter
context IInvocationContext: eine vorhandene IInvocationContext.

listener ICommandScheduler.IScheduledInvocationListener: der zu benachrichtigende ICommandScheduler.IScheduledInvocationListener

args String: die Befehlsargumente

Returns
long

Ausgabe
ConfigurationException if command was invalid
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 if command was invalid
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: der zu benachrichtigende ICommandScheduler.IScheduledInvocationListener

device ITestDevice: der zu verwendende ITestDevice

args String: die Befehlsargumente

Returns
long Die Aufruf-ID des geplanten Befehls.

Ausgabe
ConfigurationException if command was invalid

execCommand

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 : die zu verwendende ERROR(/List)

args String: die Befehlsargumente

Returns
long Die Aufruf-ID des geplanten Befehls.

Ausgabe
ConfigurationException if command was invalid

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 des 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

public abstract Throwable getLastInvocationThrowable ()

Gibt das Throwable des letzten ausgeführten Aufrufs 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 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 ()

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 noch nicht getestet wurden, und fordert alle laufenden Aufrufe zum ordnungsgemäßen Beenden auf.

Nach dem Herunterfahren wartet die Planer-Hauptschleife, 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 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(), wird jedoch mit dem Beenden auf die Ausführung aller Befehle gewartet.

Wenn Befehle im Loop-Modus sind, wird der Scheduler nie beendet.

start

public abstract void start ()

Starten Sie die ICommandScheduler.

Muss vor dem Aufruf 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 die Aufrufe beendet wurden, 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 die Aufrufe beendet wurden, 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 die Aufrufe beendet wurden, 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 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.