ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Uno strumento di pianificazione per l'esecuzione dei comandi TradeFederation.

Riepilogo

Classi nidificate

interface ICommandScheduler.IScheduledInvocationListener

Listener per gli eventi di chiamata al termine della chiamata. 

Metodi pubblici

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

Aggiunge un comando al programma di pianificazione.

abstract void addCommandFile(String cmdFile, extraArgs)

Aggiunge tutti i comandi del file specificato allo scheduler

abstract void await()

Attende l'avvio dello scheduler, inclusa l'attesa del completamento del trasferimento dal vecchio TF se applicabile.

abstract void displayCommandQueue(PrintWriter printWriter)

Output di informazioni di debug dettagliate sullo stato della coda di esecuzione dei comandi.

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Restituisce un elenco dei comandi attuali.

abstract void displayInvocationsInfo(PrintWriter printWriter)

Visualizza un elenco delle invocazioni correnti.

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

Esegui il dump del file XML espanso per il comando con tutti i valori di Option specificati per tutti i comandi attuali.

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda di comandi utilizzando un IInvocationContext già esistente.

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda dei comandi.

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

Esegui direttamente il comando sul dispositivo già allocato.

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

Esegui direttamente il comando sui dispositivi già assegnati.

abstract CommandFileWatcher getCommandFileWatcher()

Ottieni CommandFileWatcher appropriato per questo scheduler

abstract int getExecutingCommandCount()

Restituisce il numero di comandi nello stato di esecuzione.

abstract String getInvocationInfo(int invocationId)

Restituisce le informazioni su una chiamata specificando l'ID chiamata.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

Restituisce il codice di errore dell'ultima chiamata eseguita.

abstract Throwable getLastInvocationThrowable()

Restituisce Throwable dall'ultima chiamata eseguita.

abstract int getReadyCommandCount()

Restituisce il numero di comandi in stato pronto nella coda.

abstract boolean isDeviceInInvocationThread(ITestDevice device)

Restituisce il valore True se il dispositivo viene utilizzato da un thread di chiamata attivo.

abstract void join()

Attende il completamento dello scheduler.

abstract void join(long millis)

Attende il completamento dello scheduler o il timeout dopo la durata specificata in millisecondi.

abstract void removeAllCommands()

Rimuovere tutti i comandi dal pianificatore

abstract void setClearcutClient(ClearcutClient client)

Imposta il client per generare report sui dati di Harness

default void setMaxPollTime(long polling)
default void setPrintSchedulingWarning(boolean print)
abstract boolean shouldShutdownOnCmdfileError()

Restituisce true se è necessario arrestare lo scheduler in caso di errori di comando

default void shutdown()

Tenta di arrestare normalmente lo scheduler dei comandi.

abstract void shutdown(boolean notifyStop)

Tenta di arrestare normalmente lo scheduler dei comandi.

abstract void shutdownHard(boolean killAdb)

Tentativo di arresto forzato dello scheduler dei comandi.

abstract void shutdownHard()

Tentativo di arresto forzato dello scheduler dei comandi.

abstract void shutdownOnEmpty()

Simile a shutdown(), ma attende l'esecuzione di tutti i comandi prima di uscire.

abstract void start()

Inizia il ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Arresta una chiamata in esecuzione specificandone l'ID.

default boolean stopInvocation(int invocationId)

Arresta una chiamata in esecuzione specificandone l'ID.

abstract boolean stopInvocation(ITestInvocation invocation)

Interrompi una chiamata in esecuzione.

default void stopScheduling()

Interrompe la pianificazione e l'accettazione di nuovi test, ma non Tradefed.

Metodi pubblici

addCommand

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

Aggiunge un comando al programma di pianificazione.

Un comando è essenzialmente un'istanza di una configurazione da eseguire e i relativi argomenti.

Se viene specificato l'argomento "--help", il testo della guida per la configurazione verrà inviato a stdout. In caso contrario, la configurazione verrà aggiunta alla coda di esecuzione.

Parametri
args String: gli argomenti di configurazione.

Ritorni
Pair<Boolean, Integer> Una coppia di valori, il primo è un valore booleano true se il comando è stato aggiunto correttamente. Il secondo valore è l'ID tracker del comando noto(valore non negativo) se il comando è stato aggiunto correttamente, restituisce 0 quando il comando viene aggiunto per tutti i dispositivi, altrimenti -1.

Lanci
ConfigurationException se il comando non può essere analizzato

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Aggiunge tutti i comandi del file specificato allo scheduler

Parametri
cmdFile String: il percorso del file system del file di comando

extraArgs : un ERROR(/List) di String argomenti da aggiungere a ogni comando analizzato dal file. Può essere vuoto, ma non deve essere nullo.

Lanci
ConfigurationException se non è stato possibile analizzare il file di comando

Vedi anche:

attesa

public abstract void await ()

Attende l'avvio dello scheduler, inclusa l'attesa del completamento del trasferimento dal vecchio TF se applicabile.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Output di informazioni di debug dettagliate sullo stato della coda di esecuzione dei comandi.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Restituisce un elenco dei comandi attuali.

Parametri
printWriter PrintWriter: il ERROR(/PrintWriter) in cui eseguire l'output.

regex String: l'espressione regolare a cui devono corrispondere i comandi per essere stampati. Se è null, verranno stampati tutti i comandi.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco delle invocazioni correnti.

Parametri
printWriter PrintWriter: il ERROR(/PrintWriter) in cui eseguire l'output.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Esegui il dump del file XML espanso per il comando con tutti i valori di Option specificati per tutti i comandi attuali.

Parametri
printWriter PrintWriter: il ERROR(/PrintWriter) in cui restituire lo stato.

regex String: l'espressione regolare a cui devono corrispondere i comandi affinché venga eseguito il dump del file XML. Se è null, verranno scaricati tutti i comandi.

execCommand

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda di comandi utilizzando un IInvocationContext già esistente.

Parametri
context IInvocationContext: un IInvocationContext esistente.

listener ICommandScheduler.IScheduledInvocationListener: il ICommandScheduler.IScheduledInvocationListener da informare

args String: gli argomenti del comando

Ritorni
long

Lanci
ConfigurationException se il comando non era valido
NoDeviceException se non è disponibile alcun dispositivo da utilizzare

execCommand

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda dei comandi.

Parametri
listener ICommandScheduler.IScheduledInvocationListener: il ICommandScheduler.IScheduledInvocationListener da informare

args String: gli argomenti del comando

Ritorni
long L'ID invocazione del comando pianificato.

Lanci
ConfigurationException se il comando non era valido
NoDeviceException se non è disponibile alcun dispositivo da utilizzare

execCommand

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

Esegui direttamente il comando sul dispositivo già allocato.

Parametri
listener ICommandScheduler.IScheduledInvocationListener: il ICommandScheduler.IScheduledInvocationListener da informare

device ITestDevice: il ITestDevice da utilizzare

args String: gli argomenti del comando

Ritorni
long L'ID invocazione del comando pianificato.

Lanci
ConfigurationException se il comando non era valido

execCommand

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

Esegui direttamente il comando sui dispositivi già assegnati.

Parametri
listener ICommandScheduler.IScheduledInvocationListener: il ICommandScheduler.IScheduledInvocationListener da informare

devices : il ERROR(/List) da utilizzare

args String: gli argomenti del comando

Ritorni
long L'ID invocazione del comando pianificato.

Lanci
ConfigurationException se il comando non era valido

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Ottieni CommandFileWatcher appropriato per questo scheduler

Ritorni
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Restituisce il numero di comandi nello stato di esecuzione.

Ritorni
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Restituisce le informazioni su una chiamata specificando l'ID chiamata.

Parametri
invocationId int: l'ID monitoraggio dell'invocazione.

Ritorni
String Un String contenente informazioni sull'invocazione.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Restituisce il codice di errore dell'ultima chiamata eseguita. Restituisce 0 (nessun errore) se non è ancora stata eseguita alcuna chiamata.

Ritorni
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Restituisce Throwable dall'ultima chiamata eseguita. Restituisce null se non è disponibile alcun throwable.

Ritorni
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

Ritorni
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Restituisce il valore True se il dispositivo viene utilizzato da un thread di chiamata attivo.

Parametri
device ITestDevice

Ritorni
boolean

partecipa

public abstract void join ()

Attende il completamento dello scheduler.

Vedi anche:

partecipa

public abstract void join (long millis)

Attende il completamento dello scheduler o il timeout dopo la durata specificata in millisecondi.

Parametri
millis long

Vedi anche:

removeAllCommands

public abstract void removeAllCommands ()

Rimuovere tutti i comandi dal pianificatore

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Imposta il client per generare report sui dati di Harness

Parametri
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

Parametri
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

Parametri
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Restituisce true se è necessario arrestare lo scheduler in caso di errori di comando

Ritorni
boolean

shutdown

public void shutdown ()

Tenta di arrestare normalmente lo scheduler dei comandi.

Cancella i comandi in attesa di essere testati e richiede l'arresto controllato di tutte le invocazioni in corso.

Dopo la chiamata di arresto, il ciclo principale dello scheduler attenderà il completamento di tutte le chiamate in corso prima di uscire completamente.

shutdown

public abstract void shutdown (boolean notifyStop)

Tenta di arrestare normalmente lo scheduler dei comandi.

Parametri
notifyStop boolean: se true, invia una notifica alle invocazioni dell'arresto di TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

Tentativo di arresto forzato dello scheduler dei comandi.

Simile a shutdown(), ma interrompe anche facoltativamente la connessione adb, nel tentativo di "ispirare" le invocazioni in corso a completarsi più rapidamente.

Parametri
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Tentativo di arresto forzato dello scheduler dei comandi. Uguale a shutdownHard(true).

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

Simile a shutdown(), ma attende l'esecuzione di tutti i comandi prima di uscire.

Tieni presente che se alcuni comandi sono in modalità loop, lo scheduler non uscirà mai.

partenza

public abstract void start ()

Inizia il ICommandScheduler.

Deve essere chiamato prima di chiamare altri metodi.

Verrà eseguito fino a quando non viene chiamato shutdown(). vedi Thread.start().

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Arresta una chiamata in esecuzione specificandone l'ID.

Parametri
invocationId int: l'ID monitoraggio dell'invocazione.

cause String: il motivo dell'interruzione della chiamata.

Ritorni
boolean true se l'invocazione è stata interrotta, false in caso contrario

Lanci
UnsupportedOperationException se l'implementazione non lo supporta

stopInvocation

public boolean stopInvocation (int invocationId)

Arresta una chiamata in esecuzione specificandone l'ID.

Parametri
invocationId int

Ritorni
boolean true se l'invocazione è stata interrotta, false in caso contrario

Lanci
UnsupportedOperationException se l'implementazione non lo supporta

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Interrompi una chiamata in esecuzione.

Parametri
invocation ITestInvocation

Ritorni
boolean true se l'invocazione è stata interrotta, false in caso contrario

Lanci
UnsupportedOperationException se l'implementazione non lo supporta

stopScheduling

public void stopScheduling ()

Interrompe la pianificazione e l'accettazione di nuovi test, ma non Tradefed. Lo scopo è quello di consentire un arresto in due fasi in cui prima vengono svuotati tutti i test in esecuzione, quindi viene terminato il processo Tradefed.