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,
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 |
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 |
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,
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 |
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 |
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 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.