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 Planer einen Befehl hinzu.

abstract void addCommandFile (String cmdFile, extraArgs) addCommandFile (String cmdFile, extraArgs)

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

abstract void await ()

Wartet darauf, dass der Planer zu laufen beginnt, einschließlich des Wartens auf den Abschluss der Übergabe von der alten TF, falls zutreffend.

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)

Sichern Sie die erweiterte XML-Datei für den Befehl mit allen Option , 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 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 es der Befehlswarteschlange hinzuzufügen.

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

Befehl 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)

Geben Sie die Informationen zu einem Aufruf zurück, indem Sie die Aufruf-ID angeben.

abstract CommandRunner.ExitCode getLastInvocationExitCode ()

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

abstract Throwable getLastInvocationThrowable ()

Gibt ERROR(/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 Aufruf-Thread verwendet wird.

abstract void join ()

Wartet, bis der Scheduler abgeschlossen ist.

abstract void join (long millis)

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

abstract void removeAllCommands ()

Entfernen Sie alle Befehle aus dem Planer

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 bei einem Befehlsfehler 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 aber stattdessen darauf, dass alle Befehle ausgeführt werden, bevor es beendet wird.

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.

Öffentliche Methoden

Befehl hinzufügen

public abstract Pair<Boolean, Integer> addCommand (String[] args)

Fügt dem Planer 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 Befehlsverfolgungs-ID (nicht negativer Wert), wenn der Befehl erfolgreich hinzugefügt wurde, geben Sie 0 zurück, wenn der Befehl für alle Geräte hinzugefügt wurde, andernfalls -1.

Wirft
ConfigurationException if Befehl konnte nicht geparst werden

Befehlsdatei hinzufügen

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

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

Parameter
cmdFile String : der Dateisystempfad der Befehlsdatei

extraArgs : eine ERROR(/List) mit ERROR(/String) -Argumenten, die an jeden aus der Datei geparsten Befehl angehängt werden. Kann leer sein, sollte aber nicht null sein.

Wirft
ConfigurationException wenn die Befehlsdatei nicht analysiert werden konnte

Siehe auch:

erwarten

public abstract void await ()

Wartet darauf, dass der Planer zu laufen beginnt, einschließlich des Wartens auf den Abschluss der Übergabe von der alten TF, falls zutreffend.

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) für die Ausgabe.

regex String : Der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollten, um gedruckt zu 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) für die Ausgabe.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Sichern Sie die erweiterte XML-Datei für den Befehl mit allen Option , die für alle aktuellen Befehle angegeben sind.

Parameter
printWriter PrintWriter : der ERROR(/PrintWriter) zum Ausgeben des Status.

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

execBefehl

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

Weist 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

Wirft
ConfigurationException wenn der Befehl ungültig war
NoDeviceException wenn kein Gerät zu verwenden ist

execBefehl

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

Weist ein Gerät direkt zu und führt einen Befehl aus, ohne es der 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.

Wirft
ConfigurationException wenn der Befehl ungültig war
NoDeviceException wenn kein Gerät zu verwenden ist

execBefehl

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 informierende ICommandScheduler.IScheduledInvocationListener

devices : der ERROR(/List ) ERROR(/List ) zu verwenden

args String : die Befehlsargumente

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

Wirft
ConfigurationException wenn der Befehl ungültig war

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Rufen Sie den entsprechenden CommandFileWatcher für diesen Scheduler ab

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)

Geben Sie die Informationen zu einem Aufruf zurück, indem Sie die Aufruf-ID angeben.

Parameter
invocationId int : die Tracking-ID des Aufrufs.

Kehrt zurück
String Ein ERROR(/String) mit Informationen über den Aufruf.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Gibt den Fehlercode des zuletzt ausgeführten Aufrufs zurück. Rückgabe 0 (kein Fehler), wenn noch kein Aufruf gelaufen ist.

Kehrt zurück
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Gibt ERROR(/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 Aufruf-Thread verwendet wird.

Parameter
device ITestDevice

Kehrt zurück
boolean

verbinden

public abstract void join ()

Wartet, bis der Scheduler abgeschlossen ist.

verbinden

public abstract void join (long millis)

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

Parameter
millis long

Alle Befehle entfernen

public abstract void removeAllCommands ()

Entfernen Sie alle Befehle aus dem Planer

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 bei einem Befehlsfehler herunterfahren müssen

Kehrt zurück
boolean

abschalten

public void shutdown ()

Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.

Löscht Befehle, die darauf warten, getestet zu werden, und fordert an, dass alle laufenden Aufrufe ordnungsgemäß beendet werden.

Nachdem das Herunterfahren aufgerufen wurde, wartet die Hauptschleife des Schedulers darauf, dass 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 wahr, benachrichtigt Aufrufe von TF Shutdown.

HerunterfahrenHart

public abstract void shutdownHard (boolean killAdb)

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren.

Ähnlich wie shutdown() , beendet aber optional auch die adb-Verbindung, um zu versuchen, laufende Aufrufe zu „inspirieren“, schneller abzuschließen.

Parameter
killAdb boolean

HerunterfahrenHart

public abstract void shutdownHard ()

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren. Dasselbe wie shutdownHard(true).

ShutdownOnEmpty

public abstract void shutdownOnEmpty ()

Ähnlich wie shutdown() , wartet aber stattdessen darauf, dass alle Befehle ausgeführt werden, bevor es beendet wird.

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

Start

public abstract void start ()

Starten Sie den ICommandScheduler .

Muss aufgerufen werden, bevor andere Methoden aufgerufen werden.

Wird ausgeführt, bis shutdown() aufgerufen wird. siehe ERROR(/Thread#start()) .

stopAufruf

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 : die Ursache für das Stoppen des Aufrufs.

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

Wirft
wenn die Implementierung dies nicht unterstützt

stopAufruf

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

Wirft
wenn die Implementierung dies nicht unterstützt

stopAufruf

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

Wirft
wenn die Implementierung dies nicht unterstützt