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
Pair<Boolean, Integer>
|
addCommand(String[] args)
Aggiunge un comando allo scheduler. |
abstract
void
|
addCommandFile(String cmdFile,
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
|
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
|
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 elemento |
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,
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 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 |
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 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 |
default
void
|
shutdown()
Tenta di chiudere delicatamente lo scheduler. |
abstract
void
|
shutdown(boolean notifyStop)
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 |
abstract
void
|
start()
Avvia |
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. |
default
void
|
stopScheduling()
Interrompe la pianificazione e l'accettazione di nuovi test, ma non interrompe la transazione. |
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 le sue argomenti.
Se "--help" viene specificato, il testo della guida per la configurazione verrà inviato a stdout. 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 è stato aggiunto il comando
correttamente. Il secondo valore è l'ID del tracker dei comandi 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 |
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.
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 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 elemento IInvocationContext
già esistente.
Parametri | |
---|---|
context |
IInvocationContext : un IInvocationContext esistente. |
listener |
ICommandScheduler.IScheduledInvocationListener : il ICommandScheduler.IScheduledInvocationListener da aggiornare |
args |
String : gli argomenti del comando |
Ritorni | |
---|---|
long |
Lanci | |
---|---|
ConfigurationException |
se il comando non è valido |
NoDeviceException |
se non c'è alcun dispositivo da usare |
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 aggiornare |
args |
String : gli argomenti del comando |
Ritorni | |
---|---|
long |
L'ID di chiamata del comando pianificato. |
Lanci | |
---|---|
ConfigurationException |
se il comando non è valido |
NoDeviceException |
se non c'è alcun dispositivo da usare |
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 aggiornare |
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 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 |
Thread diInvocazionePeri dispositivi
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 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 void shutdown ()
Tenta di chiudere delicatamente lo scheduler.
Cancella i comandi in attesa di essere testati e richiede che tutte le chiamate in corso vengano chiuse con eleganza.
Dopo la chiamata dell'arresto, il loop principale dello scheduler attenderà tutte le chiamate in i progressi da completare prima di uscire del tutto.
chiusura
public abstract void shutdown (boolean notifyStop)
Tenta di chiudere delicatamente lo scheduler.
Parametri | |
---|---|
notifyStop |
boolean : se true, avvisa le chiamate alla chiusura di TF. |
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 |
interrompi programmazione
public void stopScheduling ()
Interrompe la pianificazione e l'accettazione di nuovi test, ma non interrompe la transazione. Questo ha lo scopo di abilitare un arresto in due passaggi dove prima svuotamo tutti i test in esecuzione e poi interrompiamo Tradefed e il processo di sviluppo.