Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
com.android.tradefed.command.CommandScheduler


Un programmatore per l'esecuzione dei comandi di TradeFederation su tutti i dispositivi disponibili.

Tenterà di stabilire l'ordine di priorità dei comandi in base al conteggio totale dei tempi di esecuzione. ad es. comandi rari o veloci avranno la priorità rispetto ai comandi lunghi.

Funziona per sempre in background fino allo spegnimento.

Sommario

Classi nidificate

enum CommandScheduler.HostState

Enum di diverso stato dell'host

Costruttori pubblici

CommandScheduler ()

Crea un CommandScheduler .

Metodi pubblici

boolean addCommand (String[] args, long totalExecTime)

Un addCommand(String[]) alternativo addCommand(String[]) che accetta un tempo di esecuzione totale iniziale per il comando.

boolean addCommand (String[] args)

Aggiunge un comando allo scheduler.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

Aggiunge tutti i comandi da un determinato file allo scheduler

void await ()

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

void completeHandover ()

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

ISandbox createSandbox ()

Creare un ISandbox che verrà utilizzato per eseguire l'invocazione.

void displayCommandQueue (PrintWriter printWriter)

Emette informazioni dettagliate sul debug sulla coda di esecuzione dello stato del comando.

void displayCommandsInfo (PrintWriter printWriter, String regex)

Emette un elenco di comandi correnti.

void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco di invocazioni correnti.

void dumpCommandsXml (PrintWriter printWriter, String regex)

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

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

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

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

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

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

Esegui direttamente il comando sul dispositivo già assegnato.

CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

CommandScheduler.HostState getHostState ()
String getInvocationInfo (int invocationId)

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

CommandRunner.ExitCode getLastInvocationExitCode ()

Restituisce il codice di errore dell'ultima chiamata eseguita.

Throwable getLastInvocationThrowable ()

Restituisce il Throwable dall'ultima Throwable che è stata eseguita.

int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

long getShutdownTimeout ()
void handoverInitiationComplete ()

Informa il programmatore dei comandi che lo scambio iniziale di handover dei dispositivi e dei comandi in uso è completo e può iniziare l'operazione di pianificazione.

boolean handoverShutdown (int handoverPort)

Avvia un shutdown() e la consegna a un altro processo scambiato sullo stesso host.

void notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

Rimuovere tutti i comandi dallo scheduler

void run ()

Il blocco di esecuzione principale di questo thread.

void setClearcutClient (ClearcutClient client)

Impostare il client per segnalare i dati del cablaggio

void setLastInvocationExitCode ( CommandRunner.ExitCode code, Throwable throwable)

Il metodo Helper, durante l'esecuzione in un contesto CommandRunner , imposta un codice di errore di uscita e una traccia dello stack che può essere restituita.

boolean shouldShutdownOnCmdfileError ()

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

void shutdown ()

Tentare di arrestare con grazia l'utilità di pianificazione dei comandi.

void shutdownHard ()

Tentare di arrestare forzatamente l'utilità di pianificazione dei comandi.

void shutdownOnEmpty ()

Simile a shutdown() , ma attenderà invece l'esecuzione di tutti i comandi prima di uscire.

void start ()

Avvia lo scheduler, compresa la configurazione della registrazione, init di DeviceManager ecc

boolean stopInvocation (int invocationId)

Ferma l'invocazione in corso specificando il suo ID.

boolean stopInvocation ( ITestInvocation invocation)

Ferma una chiamata in corso.

Metodi protetti

void cleanUp ()

Chiude i registri e fa qualsiasi altra pulizia necessaria prima di uscire.

IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

Metodo di fabbrica per ottenere un riferimento a IConfigurationFactory

IDeviceManager getDeviceManager ()

Metodo di fabbrica per ottenere un riferimento a IDeviceManager

IKeyStoreClient getKeyStoreClient ()

Recupera un IKeyStoreClient utilizzando IKeyStoreFactory dichiarato in IGlobalConfiguration o null se non ne viene definito nessuno.

void initInvocation ()

Fase di inizializzazione opzionale prima dell'inizio dell'invocazione del test

void initLogging ()

Inizializza il registro ddmlib.

boolean isShutdown ()
boolean isShuttingDown ()
void postProcessReadyCommands ()

Metodo segnaposto all'interno del ciclo principale dello scheduler, chiamato dopo processReadyCommands(com.android.tradefed.device.IDeviceManager) .

void processReadyCommands ( IDeviceManager manager)
void waitForAllInvocationThreads ()

Attendere il completamento di tutti i thread di invocazione.

Costruttori pubblici

CommandScheduler

public CommandScheduler ()

Crea un CommandScheduler .

Nota: start deve essere chiamato prima dell'uso.

Metodi pubblici

addCommand

public boolean addCommand (String[] args, 
                long totalExecTime)

Un addCommand(String[]) alternativo addCommand(String[]) che accetta un tempo di esecuzione totale iniziale per il comando.

Utile durante la transizione di comandi preesistenti da un altro processo scambiato

parametri
args String : gli argomenti di configurazione.

totalExecTime long : il tempo di esecuzione trascorso accumulato del comando

ritorna
boolean true se il comando è stato aggiunto correttamente

Genera
ConfigurationException

addCommand

public boolean 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 di aiuto per la configurazione verrà inviato a stdout. Altrimenti, la configurazione verrà aggiunta alla coda per l'esecuzione.

parametri
args String : gli argomenti di configurazione.

ritorna
boolean true se il comando è stato aggiunto correttamente

Genera
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Aggiunge tutti i comandi da un determinato file allo scheduler

parametri
cmdFilePath String : il percorso del filesystem del file comand

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

Genera
ConfigurationException

await

public void await ()

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

completeHandover

public void completeHandover ()

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

createSandbox

public ISandbox createSandbox ()

Creare un ISandbox che verrà utilizzato per eseguire l'invocazione.

ritorna
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Emette informazioni dettagliate sul debug sulla coda di esecuzione dello stato del comando.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Emette un elenco di comandi correnti.

parametri
printWriter PrintWriter : ERROR(/PrintWriter) su cui generare.

regex String : l'espressione regolare a cui devono essere abbinati i comandi per essere stampati. Se null, verranno stampati tutti i comandi.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco di invocazioni correnti.

parametri
printWriter PrintWriter : ERROR(/PrintWriter) su cui generare.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

parametri
printWriter PrintWriter : ERROR(/PrintWriter) al quale inviare lo stato.

regex String : l'espressione regolare a cui devono essere associati i comandi per il dump del file xml. Se null, tutti i comandi verranno scaricati.

execCommand

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

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

parametri
context IInvocationContext : un IInvocationContext esistente.

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

Genera
ConfigurationException
NoDeviceException

execCommand

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

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

parametri
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

Genera
ConfigurationException
NoDeviceException

execCommand

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

Esegui direttamente il comando sul dispositivo già assegnato.

parametri
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener da informare

device ITestDevice : ITestDevice da utilizzare

args String : gli argomenti del comando

Genera
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

ritorna
CommandFileWatcher

getHostState

public CommandScheduler.HostState getHostState ()

ritorna
CommandScheduler.HostState

getInvocationInfo

public 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 CommandRunner.ExitCode getLastInvocationExitCode ()

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

ritorna
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Restituisce il Throwable dall'ultima Throwable che è stata eseguita. Restituisce null, se non è disponibile il lancio.

ritorna
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

ritorna
int

getShutdownTimeout

public long getShutdownTimeout ()

ritorna
long

handoverInitiationComplete

public void handoverInitiationComplete ()

Informa il programmatore dei comandi che lo scambio iniziale di handover dei dispositivi e dei comandi in uso è completo e può iniziare l'operazione di pianificazione.

handoverShutdown

public boolean handoverShutdown (int handoverPort)

Avvia un shutdown() e la consegna a un altro processo scambiato sullo stesso host.

Lo scheduler informerà il processo scambiato a distanza ascoltando su quella porta dei dispositivi liberati non appena disponibili.

parametri
handoverPort int

ritorna
boolean true se l'inizio della consegna ha avuto successo, false altrimenti

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

parametri
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Rimuovere tutti i comandi dallo scheduler

correre

public void run ()

Il blocco di esecuzione principale di questo thread.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Impostare il client per segnalare i dati del cablaggio

parametri
client ClearcutClient

setLastInvocationExitCode

public void setLastInvocationExitCode ( CommandRunner.ExitCode code, 
                Throwable throwable)

Il metodo Helper, durante l'esecuzione in un contesto CommandRunner , imposta un codice di errore di uscita e una traccia dello stack che può essere restituita.

parametri
code CommandRunner.ExitCode

throwable Throwable

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

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

ritorna
boolean

spegnimento

public void shutdown ()

Tentare di arrestare con grazia l'utilità di pianificazione dei comandi.

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

Dopo aver chiamato l'arresto, il ciclo principale dello scheduler attenderà il completamento di tutte le chiamate in corso prima di uscire completamente.

shutdownHard

public void shutdownHard ()

Tentare di arrestare forzatamente l'utilità di pianificazione dei comandi.

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

shutdownOnEmpty

public void shutdownOnEmpty ()

Simile a shutdown() , ma attenderà invece l'esecuzione di tutti i comandi prima di uscire.

Notare che se alcuni comandi sono in modalità loop, lo scheduler non si chiuderà mai.

inizio

public void start ()

Avvia lo scheduler, compresa la configurazione della registrazione, init di DeviceManager ecc

stopInvocation

public boolean stopInvocation (int invocationId)

Ferma l'invocazione in corso specificando il suo ID.

parametri
invocationId int

ritorna
boolean vero se l'invocazione è stata interrotta, falso altrimenti

stopInvocation

public boolean stopInvocation ( ITestInvocation invocation)

Ferma una chiamata in corso.

parametri
invocation ITestInvocation

ritorna
boolean vero se l'invocazione è stata interrotta, falso altrimenti

Metodi protetti

pulire

protected void cleanUp ()

Chiude i registri e fa qualsiasi altra pulizia necessaria prima di uscire.

Esposto in modo che i test unitari possano deridere.

createInvocationContext

protected IInvocationContext createInvocationContext ()

ritorna
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Metodo di fabbrica per ottenere un riferimento a IConfigurationFactory

ritorna
IConfigurationFactory IConfigurationFactory da usare

getDeviceManager

protected IDeviceManager getDeviceManager ()

Metodo di fabbrica per ottenere un riferimento a IDeviceManager

ritorna
IDeviceManager IDeviceManager da usare

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Recupera un IKeyStoreClient utilizzando IKeyStoreFactory dichiarato in IGlobalConfiguration o null se non ne viene definito nessuno.

ritorna
IKeyStoreClient IKeyStoreClient

initInvocation

protected void initInvocation ()

Fase di inizializzazione opzionale prima dell'inizio dell'invocazione del test

initLogging

protected void initLogging ()

Inizializza il registro ddmlib.

Esposto in modo che i test unitari possano deridere.

isShutdown

protected boolean isShutdown ()

ritorna
boolean

isShuttingDown

protected boolean isShuttingDown ()

ritorna
boolean

postProcessReadyCommands

protected void postProcessReadyCommands ()

Metodo segnaposto all'interno del ciclo principale dello scheduler, chiamato dopo processReadyCommands(com.android.tradefed.device.IDeviceManager) . L'implementazione predefinita è vuota e non prevede azioni aggiuntive.

processReadyCommands

protected void processReadyCommands ( IDeviceManager manager)

parametri
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Attendere il completamento di tutti i thread di invocazione.