ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Uno scheduler per l'esecuzione dei comandi TradeFederation.

Riepilogo

Classi nidificate

interface ICommandScheduler.IScheduledInvocationListener

Listener per gli eventi di invocazione al completamento dell'invocazione.

Metodi pubblici

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

Aggiunge un comando allo scheduler.

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

Aggiunge tutti i comandi dal file specificato allo scheduler

abstract void await ()

Attende l'avvio dell'esecuzione dello scheduler, inclusa l'attesa del completamento del trasferimento dalla vecchia TF, se applicabile.

abstract void displayCommandQueue (PrintWriter printWriter)

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

abstract void displayCommandsInfo (PrintWriter printWriter, String regex)

Genera un elenco dei comandi correnti.

abstract void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco delle invocazioni correnti.

abstract void dumpCommandsXml (PrintWriter printWriter, String regex)

Scarica il file xml espanso per il comando con tutti i valori Option specificati per tutti i comandi correnti.

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

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

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

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

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

Esegue direttamente il comando sui dispositivi già assegnati.

abstract CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

abstract int getExecutingCommandCount ()

Restituisce il numero di comandi in stato di esecuzione.

abstract String getInvocationInfo (int invocationId)

Restituisce le informazioni su un bu di invocazione specificando l'id di invocazione.

abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Restituisce il codice di errore dell'ultima invocazione eseguita.

abstract Throwable getLastInvocationThrowable ()

Restituisce il Throwable dall'ultima invocazione eseguita.

abstract int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

abstract boolean isDeviceInInvocationThread ( ITestDevice device)

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

abstract void join ()

Attende il completamento della pianificazione.

abstract void join (long millis)

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

abstract void removeAllCommands ()

Rimuovi tutti i comandi dallo scheduler

abstract void setClearcutClient (ClearcutClient client)

Imposta il client per segnalare i dati di cablaggio

abstract boolean shouldShutdownOnCmdfileError ()

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

default void shutdown ()

Tentare di arrestare normalmente il pianificatore dei comandi.

abstract void shutdown (boolean notifyStop)

Tentare di arrestare normalmente il pianificatore dei comandi.

abstract void shutdownHard (boolean killAdb)

Tentare di arrestare forzatamente il pianificatore dei comandi.

abstract void shutdownHard ()

Tentare di arrestare forzatamente il pianificatore dei comandi.

abstract void shutdownOnEmpty ()

Simile a shutdown() , ma attenderà invece che tutti i comandi vengano eseguiti prima di uscire.

abstract void start ()

Avviare ICommandScheduler .

abstract boolean stopInvocation (int invocationId, String cause)

Arresta un'invocazione in esecuzione specificandone l'id.

default boolean stopInvocation (int invocationId)

Arresta un'invocazione in esecuzione specificandone l'id.

abstract boolean stopInvocation ( ITestInvocation invocation)

Arresta un'invocazione in esecuzione.

default void stopScheduling ()

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

Metodi pubblici

addCommand

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

Aggiunge un comando allo scheduler.

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

Se viene specificato l'argomento "--help", il testo della guida per la configurazione verrà inviato allo stdout. Altrimenti, la configurazione verrà aggiunta alla coda per l'esecuzione.

Parametri
args String : gli argomenti di configurazione.

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

Lancia
ConfigurationException se il comando non può essere analizzato

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Aggiunge tutti i comandi dal file specificato allo scheduler

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

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

Lancia
ConfigurationException se il file di comando non può essere analizzato

Guarda anche:

attendere

public abstract void await ()

Attende l'avvio dell'esecuzione dello scheduler, inclusa l'attesa del completamento del trasferimento dalla vecchia TF, se applicabile.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Genera un elenco dei comandi correnti.

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

regex String : l'espressione regolare a cui devono essere abbinati i comandi per poter 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 : l' ERROR(/PrintWriter) su cui eseguire l'output.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Scarica il file xml espanso per il comando con tutti i valori Option specificati per tutti i comandi correnti.

Parametri
printWriter PrintWriter : l' ERROR(/PrintWriter) a cui inviare lo stato.

regex String : l'espressione regolare a cui devono essere abbinati i comandi affinché il file xml venga scaricato. Se null, tutti i comandi verranno scaricati.

execCommand

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

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

Parametri
context IInvocationContext : un IInvocationContext esistente.

listener ICommandScheduler.IScheduledInvocationListener : l' ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

ritorna
long

Lancia
ConfigurationException se il comando non era valido
NoDeviceException se non c'è nessun dispositivo da utilizzare

execCommand

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

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

Parametri
listener ICommandScheduler.IScheduledInvocationListener : l' ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

ritorna
long L'ID di invocazione del comando pianificato.

Lancia
ConfigurationException se il comando non era valido
NoDeviceException se non c'è nessun dispositivo da utilizzare

execCommand

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

Esegue direttamente il comando sui dispositivi già assegnati.

Parametri
listener ICommandScheduler.IScheduledInvocationListener : l' ICommandScheduler.IScheduledInvocationListener da informare

devices : l' ERROR(/List ) ERROR(/List ) usare

args String : gli argomenti del comando

ritorna
long L'ID di invocazione del comando pianificato.

Lancia
ConfigurationException se il comando non era valido

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

ritorna
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Restituisce il numero di comandi in stato di esecuzione.

ritorna
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Restituisce le informazioni su un bu di invocazione specificando l'id di invocazione.

Parametri
invocationId int : l'ID di tracciamento dell'invocazione.

ritorna
String Una String contenente informazioni sull'invocazione.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

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

ritorna
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Restituisce il Throwable dall'ultima invocazione eseguita. Restituisce null, se non è disponibile alcun oggetto lanciabile.

ritorna
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

ritorna
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

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

Parametri
device ITestDevice

ritorna
boolean

giuntura

public abstract void join ()

Attende il completamento della pianificazione.

Guarda anche:

giuntura

public abstract void join (long millis)

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

Parametri
millis long

Guarda anche:

rimuovi tutti i comandi

public abstract void removeAllCommands ()

Rimuovi tutti i comandi dallo scheduler

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Imposta il client per segnalare i dati di cablaggio

Parametri
client ClearcutClient

dovrebbeShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

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

ritorna
boolean

fermare

public void shutdown ()

Tentare di arrestare normalmente il pianificatore dei comandi.

Cancella i comandi in attesa di essere testati e richiede che tutte le invocazioni in corso vengano chiuse correttamente.

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

fermare

public abstract void shutdown (boolean notifyStop)

Tentare di arrestare normalmente il pianificatore dei comandi.

Parametri
notifyStop boolean : se vero, notifica le invocazioni dell'arresto di TF.

shutdownDifficile

public abstract void shutdownHard (boolean killAdb)

Tentare di arrestare forzatamente il pianificatore dei comandi.

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

Parametri
killAdb boolean

shutdownDifficile

public abstract void shutdownHard ()

Tentare di arrestare forzatamente il pianificatore dei comandi. Uguale a shutdownHard(true).

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

Simile a shutdown() , ma attenderà invece che tutti i comandi vengano eseguiti prima di uscire.

Tieni presente che se qualche comando è in modalità loop, lo scheduler non uscirà mai.

inizio

public abstract void start ()

Avviare ICommandScheduler .

Deve essere chiamato prima di chiamare altri metodi.

Verrà eseguito finché non verrà chiamato shutdown() . vedere Thread.start() .

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Arresta un'invocazione in esecuzione specificandone l'id.

Parametri
invocationId int : l'ID di tracciamento dell'invocazione.

cause String : la causa dell'interruzione dell'invocazione.

ritorna
boolean true se l'invocazione è stata interrotta, false altrimenti

Lancia
UnsupportedOperationException se l'implementazione non lo supporta

stopInvocation

public boolean stopInvocation (int invocationId)

Arresta un'invocazione in esecuzione specificandone l'id.

Parametri
invocationId int

ritorna
boolean true se l'invocazione è stata interrotta, false altrimenti

Lancia
UnsupportedOperationException se l'implementazione non lo supporta

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Arresta un'invocazione in esecuzione.

Parametri
invocation ITestInvocation

ritorna
boolean true se l'invocazione è stata interrotta, false altrimenti

Lancia
UnsupportedOperationException se l'implementazione non lo supporta

stopScheduling

public void stopScheduling ()

Interrompe la pianificazione e l'accettazione di nuovi test ma non interrompe Tradefed. Questo ha lo scopo di consentire un arresto in due passaggi in cui prima eliminiamo tutti i test in esecuzione, quindi terminiamo il processo Tradefed.