Pianificazione ICommand

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Uno scheduler per l'esecuzione dei comandi TradeFederation.

Riepilogo

Classi nidificate

interface ICommandScheduler.IScheduledInvocationListener

Listener di eventi di chiamata al completamento della chiamata. 

Metodi pubblici

abstract boolean addCommand(String[] args)

Aggiunge un comando allo scheduler.

abstract void addCommandFile(String cmdFile, extraArgs)

Aggiunge tutti i comandi di un determinato file allo scheduler

abstract void await()

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

abstract void completeHandover()

Informa lo scheduler dei comandi che una sequenza di trasferimento avviata è completamente completa deve reinizializzare il proprio gestore remoto sulla porta predefinita.

abstract void displayCommandQueue(PrintWriter printWriter)

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

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Restituisce 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 Option valori specificati per tutti i comandi attuali.

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

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

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

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

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

Esegui direttamente il comando sul dispositivo già allocato.

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 chiamata che specifica l'ID di 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 void handoverInitiationComplete()

Informa lo scheduler dei comandi che lo scambio iniziale del trasferimento di dispositivi e dei comandi in uso è completa e può iniziare l'operazione di pianificazione.

abstract boolean handoverShutdown(int handoverPort)

Avvia un shutdown() e passa a un altro processo trasferito sullo stesso host.

abstract void join()

Attende il completamento dello scheduler.

abstract void join(long millis)

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

abstract void removeAllCommands()

Rimuovi tutti i comandi dallo scheduler

abstract void setClearcutClient(ClearcutClient client)

Imposta il cliente in modo che generi report sui dati del database

abstract boolean shouldShutdownOnCmdfileError()

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

abstract void shutdown()

Tenta di chiudere delicatamente lo scheduler.

abstract void shutdownHard(boolean killAdb)

Tentativo di chiudere forzatamente lo scheduler dei comandi.

abstract void shutdownHard()

Tentativo di chiudere forzatamente lo scheduler dei comandi.

abstract void shutdownOnEmpty()

Simile a shutdown(), ma attenderà 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 una chiamata in esecuzione specificando il relativo ID.

abstract boolean stopInvocation(ITestInvocation invocation)

Interrompi una chiamata in esecuzione.

Metodi pubblici

addCommand

public abstract boolean addCommand (String[] args)

Aggiunge un comando allo scheduler.

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

Se "--help" viene specificato il testo di aiuto la configurazione verrà inviata a stdout. In caso contrario, la configurazione verrà aggiunta alla coda per vengono eseguiti tutti i test delle unità.

Parametri
args String: gli argomenti della configurazione.

Ritorni
boolean true se il comando è stato aggiunto

Lanci
ConfigurationException impossibile analizzare il comando if

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Aggiunge tutti i comandi di un determinato file allo scheduler

Parametri
cmdFile String: il percorso del file system del file comand

extraArgs : ERROR(/List) di String argomenti da aggiungere a ogni comando analizzato da file. Il campo può essere vuoto, ma non può essere null.

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

Vedi anche:

aspetta

public abstract void await ()

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

passaggio completo

public abstract void completeHandover ()

Informa lo scheduler dei comandi che una sequenza di trasferimento avviata è completamente completa deve reinizializzare il proprio gestore remoto sulla porta predefinita.

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)

Restituisce 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 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 valori specificati per tutti i comandi attuali.

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

regex String: l'espressione regolare a cui devono corrispondere i comandi per generare XML da scaricare. Se il valore è null, verranno sottoposti a dump tutti i comandi.

execCommand

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

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

Parametri
context IInvocationContext: un IInvocationContext esistente.

listener ICommandScheduler.IScheduledInvocationListener: il ICommandScheduler.IScheduledInvocationListener da aggiornare

args String: gli argomenti del comando

Lanci
ConfigurationException se il comando non è valido
NoDeviceException se non c'è alcun dispositivo da usare

execCommand

public abstract void 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 aggiornare

args String: gli argomenti del comando

Lanci
ConfigurationException se il comando non è valido
NoDeviceException se non c'è alcun dispositivo da usare

execCommand

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

Esegui direttamente il comando sul dispositivo già allocato.

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

device ITestDevice: i ITestDevice da utilizzare

args String: gli argomenti del comando

Lanci
ConfigurationException se il comando non è valido

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

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 bu di chiamata che specifica l'ID di chiamata.

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

Ritorni
String Un elemento String contenente informazioni sulla chiamata.

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 un valore nullo se non sono disponibili elementi lanciabili.

Ritorni
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

Ritorni
int

avvio_invio completato

public abstract void handoverInitiationComplete ()

Informa lo scheduler dei comandi che lo scambio iniziale del trasferimento di dispositivi e dei comandi in uso è completa e può iniziare l'operazione di pianificazione.

passaggioarresto

public abstract boolean handoverShutdown (int handoverPort)

Avvia un shutdown() e passa a un altro processo trasferito sullo stesso host.

Lo scheduler comunicherà al processo di trasferimento remoto in ascolto su quella porta di dispositivi liberati man mano che diventano disponibili.

Parametri
handoverPort int

Ritorni
boolean true se l'avvio del passaggio è riuscito, false altrimenti

partecipa

public abstract void join ()

Attende il completamento dello scheduler.

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:

rimuovereTuttiComandi

public abstract void removeAllCommands ()

Rimuovi tutti i comandi dallo scheduler

ImpostaClienteCancella

public abstract void setClearcutClient (ClearcutClient client)

Imposta il cliente in modo che generi report sui dati del database

Parametri
client ClearcutClient

dovrebbeArrestoSuCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

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

Ritorni
boolean

chiusura

public abstract void shutdown ()

Tenta di chiudere delicatamente lo scheduler.

Cancella i comandi in attesa di essere testati e richiede che tutte le chiamate in corso arresta con grazia.

Dopo la chiamata dell'arresto, il loop principale dello scheduler attenderà tutte le chiamate in corso da completare prima di uscire del tutto.

chiusuraDifficile

public abstract void shutdownHard (boolean killAdb)

Tentativo di chiudere forzatamente lo scheduler dei comandi.

Simile a shutdown(), ma facoltativamente interrompe anche la connessione ADB in un tentare di "ispirare" di chiamate in corso da completare più rapidamente.

Parametri
killAdb boolean

chiusuraDifficile

public abstract void shutdownHard ()

Tentativo di chiudere forzatamente lo scheduler dei comandi. Uguale a shutdownHard(true).

ArrestoOnVuoto

public abstract void shutdownOnEmpty ()

Simile a shutdown(), ma attenderà 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 ()

Avvia ICommandScheduler.

Deve essere chiamato prima di chiamare altri metodi.

Verrà eseguito fino alla chiamata di shutdown(). vedi Thread.start().

stopChiama

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Interrompi una chiamata in esecuzione specificando il relativo ID.

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

cause String: la causa dell'interruzione della chiamata.

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 una chiamata in esecuzione specificando il relativo ID.

Parametri
invocationId int

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

Lanci
UnsupportedOperationException se l'implementazione non supporta

stopChiama

public abstract boolean stopInvocation (ITestInvocation invocation)

Interrompi una chiamata in esecuzione.

Parametri
invocation ITestInvocation

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

Lanci
UnsupportedOperationException se l'implementazione non supporta