Pianificazione ICommand

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Un programmatore per l'esecuzione dei comandi TradeFederation.

Riepilogo

Classi nidificate

interface ICommandScheduler.IScheduledInvocationListener

Listener di eventi di chiamata al completamento della chiamata. 

Metodi pubblici

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

Aggiunge un comando all'organizzatore.

abstract void addCommandFile(String cmdFile, extraArgs)

Aggiunge tutti i comandi del file specificato all'organizzatore

abstract void await()

Attende l'avvio dell'esecuzione del programma, inclusa l'attesa del completamento del trasferimento dall'organizzazione TF precedente, se applicabile.

abstract void displayCommandQueue(PrintWriter printWriter)

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

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Stampa un elenco dei comandi correnti.

abstract void displayInvocationsInfo(PrintWriter printWriter)

Visualizza un elenco delle chiamate correnti.

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

Esegui il dump del file XML espanso per il comando con tutti i valori 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 dei 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à allocati.

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'invocazione specificando l'ID di chiamata.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

Restituisce il codice di errore dell'ultima chiamata eseguita.

abstract Throwable getLastInvocationThrowable()

Restituisce il valore Throwable dell'ultima chiamata eseguita.

abstract int getReadyCommandCount()

Restituisce il numero di comandi in stato pronto nella coda.

abstract boolean isDeviceInInvocationThread(ITestDevice device)

Restituisce true se il dispositivo è utilizzato da un thread di chiamata attivo.

abstract void join()

Attende il completamento della pianificazione.

abstract void join(long millis)

Attende il completamento della pianificazione o il timeout dopo la durata specificata in millisecondi.

abstract void removeAllCommands()

Rimuovi tutti i comandi dal programmatore

abstract void setClearcutClient(ClearcutClient client)

Impostare il client in modo che registri i dati del cablaggio

abstract boolean shouldShutdownOnCmdfileError()

Restituisce true se è necessario arrestare il programma di pianificazione in caso di errori di comando

default void shutdown()

Prova ad arrestare in modo controllato lo scheduler dei comandi.

abstract void shutdown(boolean notifyStop)

Prova ad arrestare in modo controllato lo scheduler dei comandi.

abstract void shutdownHard(boolean killAdb)

Tenta di arrestare forzatamente il programmatore dei comandi.

abstract void shutdownHard()

Tenta di arrestare forzatamente il programmatore dei comandi.

abstract void shutdownOnEmpty()

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

abstract void start()

Avvia ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Interrompi una chiamata in esecuzione specificando il relativo ID.

default boolean stopInvocation(int invocationId)

Interrompi un'invocazione in esecuzione specificandone l'ID.

abstract boolean stopInvocation(ITestInvocation invocation)

Interrompi 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 all'organizzatore.

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

Se viene specificato l'argomento "--help", il testo della guida per la configurazione verrà visualizzato in output. In caso contrario, la configurazione verrà aggiunta alla coda per essere eseguita.

Parametri
args String: gli argomenti della 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 if command could not be parsed

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Aggiunge tutti i comandi del file specificato all'organizzatore

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

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

Lanci
ConfigurationException if command file could not be parsed

Vedi anche:

attendere

public abstract void await ()

Attende l'avvio dell'esecuzione del programma, inclusa l'attesa del completamento del trasferimento dall'organizzazione TF precedente, se applicabile.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Stampa un elenco dei comandi correnti.

Parametri
printWriter PrintWriter: il ERROR(/PrintWriter) a cui inviare l'output.

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

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco delle chiamate correnti.

Parametri
printWriter PrintWriter: il ERROR(/PrintWriter) a cui inviare l'output.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

Parametri
printWriter PrintWriter: il ERROR(/PrintWriter) a cui stampare lo stato.

regex String: l'espressione regolare a cui devono corrispondere i comandi per eseguire il dump del file XML. Se è null, verranno sottoposti a dump 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 dei 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 if command was invalid
NoDeviceException se non è disponibile alcun dispositivo

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 di chiamata del comando pianificato.

Lanci
ConfigurationException if command was invalid
NoDeviceException se non è disponibile alcun dispositivo

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 di chiamata del comando pianificato.

Lanci
ConfigurationException if command was invalid

execCommand

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

Esegui direttamente il comando sui dispositivi già allocati.

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

devices : i ERROR(/List) da utilizzare

args String: gli argomenti del comando

Ritorni
long L'ID di chiamata del comando pianificato.

Lanci
ConfigurationException se il comando non è valido

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo programmatore

Ritorni
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Restituisce il numero di comandi in stato di esecuzione.

Ritorni
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Restituisce le informazioni su un'invocazione specificando l'ID di chiamata.

Parametri
invocationId int: l'ID di monitoraggio della chiamata.

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 il valore Throwable dell'ultima chiamata eseguita. Restituisce null se non è disponibile alcun oggetto throwable.

Ritorni
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Restituisce il numero di comandi in stato di attesa nella coda.

Ritorni
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Restituisce true se il dispositivo è utilizzato da un thread di chiamata attivo.

Parametri
device ITestDevice

Ritorni
boolean

partecipa

public abstract void join ()

Attende il completamento della pianificazione.

Vedi anche:

partecipa

public abstract void join (long millis)

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

Parametri
millis long

Vedi anche:

removeAllCommands

public abstract void removeAllCommands ()

Rimuovi tutti i comandi dal programmatore

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Impostare il client in modo che registri i dati del cablaggio

Parametri
client ClearcutClient

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

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

Ritorni
boolean

arresto

public void shutdown ()

Tenta di chiudere delicatamente lo scheduler.

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

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

arresto

public abstract void shutdown (boolean notifyStop)

Prova ad arrestare in modo controllato lo scheduler dei comandi.

Parametri
notifyStop boolean: se true, vengono notificate le invocazioni dell'arresto di TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

Tenta di arrestare forzatamente il programmatore dei comandi.

Simile a shutdown(), ma facoltativamente termina anche la connessione adb, nel tentativo di "incentivare" il completamento più rapido delle chiamate in corso.

Parametri
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Tenta di arrestare forzatamente il programmatore 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à di loop, lo scheduler non uscirà mai.

partenza

public abstract void start ()

Avvia ICommandScheduler.

Deve essere chiamato prima di chiamare altri metodi.

Verrà eseguito fino all'esecuzione di shutdown(). vedi Thread.start().

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Interrompi un'invocazione in esecuzione specificandone l'ID.

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

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

Ritorni
boolean true se la chiamata è stata interrotta, false in caso contrario

Lanci
UnsupportedOperationException se l'implementazione non supporta

stopChiama

public boolean stopInvocation (int invocationId)

Interrompi un'invocazione in esecuzione specificandone l'ID.

Parametri
invocationId int

Ritorni
boolean true se la chiamata è stata interrotta, false in caso contrario

Lanci
UnsupportedOperationException se l'implementazione non supporta

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Interrompi un'invocazione in esecuzione.

Parametri
invocation ITestInvocation

Ritorni
boolean true se la chiamata è stata interrotta, false in caso contrario

Lanci
UnsupportedOperationException se l'implementazione non lo supporta

interrompi programmazione

public void stopScheduling ()

Interrompe la pianificazione e l'accettazione di nuovi test, ma non interrompe la transazione. Lo scopo è consentire un arresto in due fasi in cui prima vengono interrotti tutti i test in esecuzione e poi viene terminato il processo TradeFed.