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) addCommandFile (String cmdFile, extraArgs)

Fügt alle Befehle aus der angegebenen Datei zum Scheduler hinzu

abstract void await ()

Wartet darauf, dass der Scheduler mit der Ausführung beginnt, einschließlich gegebenenfalls auf den Abschluss der Übergabe vom alten TF.

abstract void displayCommandQueue (PrintWriter printWriter)

Gibt detaillierte Debug-Informationen zum Status der Befehlsausführungswarteschlange aus.

abstract void displayCommandsInfo (PrintWriter printWriter, String regex)

Gibt eine Liste der aktuellen Befehle aus.

abstract void displayInvocationsInfo (PrintWriter printWriter)

Zeigt eine Liste der aktuellen Aufrufe an.

abstract void dumpCommandsXml (PrintWriter printWriter, String regex)

Erstellen Sie einen Dump der erweiterten XML-Datei für den Befehl mit allen für alle aktuellen Befehle angegebenen Option .

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

Ordnet ein Gerät direkt zu und führt einen Befehl aus, ohne ihn mithilfe eines bereits vorhandenen IInvocationContext zur 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 zur Befehlswarteschlange hinzuzufügen.

abstract long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)

Führen Sie den Befehl direkt auf bereits zugewiesenen Geräten aus.

abstract CommandFileWatcher getCommandFileWatcher ()

Holen Sie sich den entsprechenden CommandFileWatcher für diesen Scheduler

abstract int getExecutingCommandCount ()

Gibt die Anzahl der Befehle im Ausführungsstatus zurück.

abstract String getInvocationInfo (int invocationId)

Gibt die Informationen zu einem Aufruf-BU zurück und gibt dabei die Aufruf-ID an.

abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Gibt den Fehlercode des letzten ausgeführten Aufrufs zurück.

abstract Throwable getLastInvocationThrowable ()

Gibt das Throwable vom letzten ausgeführten Aufruf zurück.

abstract int getReadyCommandCount ()

Gibt die Anzahl der Befehle im Bereitschaftszustand in der Warteschlange zurück.

abstract boolean isDeviceInInvocationThread ( ITestDevice device)

Gibt true zurück, wenn das Gerät von einem aktiven Aufrufthread verwendet wird.

abstract void join ()

Wartet auf den Abschluss des Planers.

abstract void join (long millis)

Wartet darauf, dass der Scheduler nach der in Millisekunden angegebenen Dauer abgeschlossen wird oder eine Zeitüberschreitung auftritt.

abstract void removeAllCommands ()

Entfernen Sie alle Befehle aus dem Scheduler

abstract void setClearcutClient (ClearcutClient client)

Stellen Sie den Client so ein, dass er Kabelbaumdaten meldet

abstract boolean shouldShutdownOnCmdfileError ()

Geben Sie „true“ zurück, wenn wir den Scheduler aufgrund eines Befehlsfehlers herunterfahren müssen

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 herunterzufahren.

abstract void shutdownHard ()

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren.

abstract void shutdownOnEmpty ()

Ähnlich wie shutdown() , wartet jedoch vor dem Beenden auf die Ausführung aller Befehle.

abstract void start ()

Starten Sie den ICommandScheduler .

abstract boolean stopInvocation (int invocationId, String cause)

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

default boolean stopInvocation (int invocationId)

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

abstract boolean stopInvocation ( ITestInvocation invocation)

Stoppen Sie einen laufenden Aufruf.

default void stopScheduling ()

Stoppt die Planung und Annahme neuer Tests, stoppt jedoch nicht Tradefed.

Ö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 der zugehörigen Argumente.

Wenn das Argument „--help“ angegeben ist, wird der Hilfetext für die Konfiguration auf stdout ausgegeben. Andernfalls wird die Konfiguration zur Ausführung zur Warteschlange hinzugefügt.

Parameter
args String : die Konfigurationsargumente.

Kehrt zurück
Pair <Boolean, Integer> Ein Wertepaar. Der erste Wert ist ein boolescher true , wenn der Befehl erfolgreich hinzugefügt wurde. Der zweite Wert ist die bekannte Befehls-Tracker-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 wurde, andernfalls -1.

Würfe
ConfigurationException wenn der Befehl nicht analysiert werden konnte

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Fügt alle Befehle aus der angegebenen Datei zum Scheduler hinzu

Parameter
cmdFile String : der Dateisystempfad der Befehlsdatei

extraArgs : ein ERROR(/List) von String Argumenten, die an jeden aus der Datei analysierten Befehl angehängt werden sollen. Kann leer sein, sollte aber nicht null sein.

Würfe
ConfigurationException wenn die Befehlsdatei nicht analysiert werden konnte

Siehe auch:

erwarten

public abstract void await ()

Wartet darauf, dass der Scheduler mit der Ausführung beginnt, einschließlich gegebenenfalls auf den Abschluss der Übergabe vom alten TF.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Gibt detaillierte Debug-Informationen zum Status der Befehlsausführungswarteschlange aus.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Gibt eine Liste der aktuellen Befehle aus.

Parameter
printWriter PrintWriter : der ERROR(/PrintWriter) , an den ausgegeben werden soll.

regex String : der reguläre Ausdruck, dem Befehle zugeordnet werden müssen, damit sie gedruckt werden. Wenn null, werden alle Befehle gedruckt.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Zeigt eine Liste der aktuellen Aufrufe an.

Parameter
printWriter PrintWriter : der ERROR(/PrintWriter) , an den ausgegeben werden soll.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Erstellen Sie einen Dump der erweiterten XML-Datei für den Befehl mit allen für alle aktuellen Befehle angegebenen Option .

Parameter
printWriter PrintWriter : der ERROR(/PrintWriter) , an den der Status ausgegeben werden soll.

regex String : der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollten, damit die XML-Datei ausgegeben wird. Wenn null, werden alle Befehle ausgegeben.

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 ihn mithilfe eines bereits vorhandenen IInvocationContext zur Befehlswarteschlange hinzuzufügen.

Parameter
context IInvocationContext : ein vorhandener IInvocationContext .

listener ICommandScheduler.IScheduledInvocationListener : der zu informierende ICommandScheduler.IScheduledInvocationListener

args String : die Befehlsargumente

Kehrt zurück
long

Würfe
ConfigurationException wenn der Befehl ungültig war
NoDeviceException wenn kein Gerät vorhanden ist

execCommand

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

Weist ein Gerät direkt zu und führt einen Befehl aus, ohne ihn zur Befehlswarteschlange hinzuzufügen.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : der zu informierende ICommandScheduler.IScheduledInvocationListener

args String : die Befehlsargumente

Kehrt zurück
long Die Aufruf-ID des geplanten Befehls.

Würfe
ConfigurationException wenn der Befehl ungültig war
NoDeviceException wenn kein Gerät vorhanden ist

execCommand

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

Führen Sie den Befehl direkt auf bereits zugewiesenen Geräten aus.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : der zu informierende ICommandScheduler.IScheduledInvocationListener

devices : der ERROR(/List ) ERROR(/List ) benutzen

args String : die Befehlsargumente

Kehrt zurück
long Die Aufruf-ID des geplanten Befehls.

Würfe
ConfigurationException wenn der Befehl ungültig war

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Holen Sie sich den entsprechenden CommandFileWatcher für diesen Scheduler

Kehrt zurück
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Gibt die Anzahl der Befehle im Ausführungsstatus zurück.

Kehrt zurück
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Gibt die Informationen zu einem Aufruf-BU zurück und gibt dabei die Aufruf-ID an.

Parameter
invocationId int : die Tracking-ID des Aufrufs.

Kehrt zurück
String Ein String , der Informationen zum Aufruf enthält.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Gibt den Fehlercode des letzten ausgeführten Aufrufs zurück. Gibt 0 (kein Fehler) zurück, wenn noch kein Aufruf ausgeführt wurde.

Kehrt zurück
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Gibt das Throwable vom letzten ausgeführten Aufruf zurück. Gibt null zurück, wenn kein Throwable verfügbar ist.

Kehrt zurück
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Gibt die Anzahl der Befehle im Bereitschaftszustand in der Warteschlange zurück.

Kehrt zurück
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Gibt true zurück, wenn das Gerät von einem aktiven Aufrufthread verwendet wird.

Parameter
device ITestDevice

Kehrt zurück
boolean

verbinden

public abstract void join ()

Wartet auf den Abschluss des Planers.

Siehe auch:

verbinden

public abstract void join (long millis)

Wartet darauf, dass der Scheduler nach der in Millisekunden angegebenen Dauer abgeschlossen wird oder eine Zeitüberschreitung auftritt.

Parameter
millis long

Siehe auch:

RemoveAllCommands

public abstract void removeAllCommands ()

Entfernen Sie alle Befehle aus dem Scheduler

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Stellen Sie den Client so ein, dass er Kabelbaumdaten meldet

Parameter
client ClearcutClient

ShouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Geben Sie „true“ zurück, wenn wir den Scheduler aufgrund eines Befehlsfehlers herunterfahren müssen

Kehrt zurück
boolean

abschalten

public void shutdown ()

Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.

Löscht Befehle, die auf den Test warten, und fordert, 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.

abschalten

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 herunterzufahren.

Ähnlich wie shutdown() , beendet aber optional auch die ADB-Verbindung, um laufende Aufrufe zu „inspirieren“, damit sie schneller abgeschlossen werden.

Parameter
killAdb boolean

ShutdownHard

public abstract void shutdownHard ()

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren. Identisch mit „shutdownHard(true)“.

ShutdownOnEmpty

public abstract void shutdownOnEmpty ()

Ähnlich wie shutdown() , wartet jedoch vor dem Beenden auf die Ausführung aller Befehle.

Beachten Sie, dass der Scheduler niemals beendet wird, wenn sich Befehle im Schleifenmodus befinden.

Start

public abstract void start ()

Starten Sie den 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)

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

Parameter
invocationId int : die Tracking-ID des Aufrufs.

cause String : Der Grund für das Stoppen des Aufrufs.

Kehrt zurück
boolean true, wenn der Aufruf gestoppt wurde, andernfalls false

Würfe
UnsupportedOperationException wenn die Implementierung dies nicht unterstützt

stopInvocation

public boolean stopInvocation (int invocationId)

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

Parameter
invocationId int

Kehrt zurück
boolean true, wenn der Aufruf gestoppt wurde, andernfalls false

Würfe
UnsupportedOperationException wenn die Implementierung dies nicht unterstützt

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Stoppen Sie einen laufenden Aufruf.

Parameter
invocation ITestInvocation

Kehrt zurück
boolean true, wenn der Aufruf gestoppt wurde, andernfalls false

Würfe
UnsupportedOperationException wenn die Implementierung dies nicht unterstützt

stopScheduling

public void stopScheduling ()

Stoppt die Planung und Annahme neuer Tests, stoppt jedoch nicht Tradefed. Dies soll ein zweistufiges Herunterfahren ermöglichen, bei dem wir zunächst alle laufenden Tests entleeren und dann den Tradefed-Prozess beenden.