Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


Uno scheduler per l'esecuzione dei comandi TradeFederation su tutti i dispositivi disponibili.

Tenterà di dare la priorità ai comandi da eseguire in base a un conteggio totale del tempo di esecuzione. ad esempio, i comandi a esecuzione rapida o non frequenti avranno la priorità rispetto ai comandi a esecuzione prolungata.

Funziona per sempre in background fino allo spegnimento.

Riepilogo

Classi nidificate

enum CommandScheduler.HostState

Enum di stato diverso di host

Costruttori pubblici

CommandScheduler ()

Crea un CommandScheduler .

Metodi pubblici

Pair <Boolean, Integer> 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 della consegna dalla vecchia TF, se applicabile.

static TradefedDelegator checkDelegation (String[] args)

Crea un delegante basato sulla riga di comando per vedere se è necessario delegare l'esecuzione.

static createReleaseMap ( IInvocationContext context, Throwable e)

Creare una mappa dello stato dei dispositivi in ​​modo che possano essere rilasciati in modo appropriato.

ISandbox createSandbox ()

Creare una ISandbox che verrà utilizzata dalla chiamata per l'esecuzione.

void displayCommandQueue (PrintWriter printWriter)

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

void displayCommandsInfo (PrintWriter printWriter, String regex)

Emette un elenco di comandi correnti.

void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco di chiamate correnti.

void dumpCommandsXml (PrintWriter printWriter, String regex)

Esegui il dump del file xml espanso per il comando con tutti i valori di 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 dei comandi.

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

Esegui direttamente il comando sul dispositivo già allocato.

CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

int getExecutingCommandCount ()

Restituisce il numero di comandi in esecuzione.

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

Restituisce le informazioni su una chiamata bu specificando l'id di chiamata.

CommandRunner.ExitCode getLastInvocationExitCode ()

Restituisce il codice di errore dell'ultima chiamata eseguita.

Throwable getLastInvocationThrowable ()

Restituisci il Throwable dall'ultima invocazione eseguita.

int getReadyCommandCount ()

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

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

Rimuovere tutti i comandi dall'utilità di pianificazione

void run ()

Il blocco di esecuzione principale di questo thread.

void setClearcutClient (ClearcutClient client)

Imposta il client per segnalare i dati del cablaggio

boolean shouldShutdownOnCmdfileError ()

Restituisce true se è necessario arrestare lo scheduler su un comando errori

void shutdown ()

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

void shutdownHard (boolean killAdb)

Tentare di arrestare forzatamente 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 che tutti i comandi vengano eseguiti prima di uscire.

void start ()

Avvia lo scheduler inclusa la configurazione della registrazione, l'inizializzazione di DeviceManager ecc

boolean stopInvocation (int invocationId, String cause)

Arresta una chiamata in esecuzione specificando il suo id.

boolean stopInvocation ( ITestInvocation invocation)

Interrompi una chiamata in corso.

Metodi protetti

void cleanUp ()

Chiude i registri ed esegue qualsiasi altra pulizia necessaria prima di uscire.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

Metodo di fabbrica per ottenere un riferimento a IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

Metodo di fabbrica per ottenere un riferimento a IDeviceManager

TradefedFeatureServer getFeatureServer ()
IHostOptions getHostOptions ()
IKeyStoreClient getKeyStoreClient ()

Recupera un IKeyStoreClient usando IKeyStoreFactory dichiarato in IGlobalConfiguration o null se non ne è definito nessuno.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Inizializza il registro di ddmlib.

boolean isShutdown ()
boolean isShuttingDown ()
void processReadyCommands ( IDeviceManager manager)
void waitForAllInvocationThreads ()

Attendi il completamento di tutti i thread di chiamata.

Costruttori pubblici

CommandScheduler

public CommandScheduler ()

Crea un CommandScheduler .

Nota: start deve essere chiamato prima dell'uso.

Metodi pubblici

aggiungiComando

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

Aggiunge un comando allo scheduler.

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

Se viene specificato l'argomento "--help", il testo della guida per la configurazione verrà inviato a stdout. In caso contrario, la configurazione verrà aggiunta alla coda per l'esecuzione.

Parametri
args String : gli argomenti di configurazione.

ritorna
Pair <Boolean, Integer> Una coppia di valori, il primo valore è un valore booleano true se il comando è stato aggiunto 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.

Tiri
ConfigurationException

aggiungiFileComando

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 di comando

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

Tiri
ConfigurationException

aspettare

public void await ()

Attende l'avvio dello scheduler, inclusa l'attesa del completamento della consegna dalla vecchia TF, se applicabile.

checkDelega

public static TradefedDelegator checkDelegation (String[] args)

Crea un delegante basato sulla riga di comando per vedere se è necessario delegare l'esecuzione.

Parametri
args String

ritorna
TradefedDelegator

Tiri
ConfigurationException

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Creare una mappa dello stato dei dispositivi in ​​modo che possano essere rilasciati in modo appropriato.

Parametri
context IInvocationContext

e Throwable

ritorna

crea Sandbox

public ISandbox createSandbox ()

Creare una ISandbox che verrà utilizzata dalla chiamata per l'esecuzione.

ritorna
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

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

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Emette un elenco di comandi correnti.

Parametri
printWriter PrintWriter : ERROR(/PrintWriter) su cui eseguire l'output.

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 chiamate correnti.

Parametri
printWriter PrintWriter : ERROR(/PrintWriter) su cui eseguire l'output.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

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

regex String : l'espressione regolare a cui abbinare i comandi per eseguire 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 : l' ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

Tiri
ConfigurationException
NoDeviceException

execCommand

public 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 : l' ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

Tiri
ConfigurationException
NoDeviceException

execCommand

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

Esegui direttamente il comando sul dispositivo già allocato.

Parametri
listener ICommandScheduler.IScheduledInvocationListener : l' ICommandScheduler.IScheduledInvocationListener da informare

device ITestDevice : l' ITestDevice da utilizzare

args String : gli argomenti del comando

Tiri
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

ritorna
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Restituisce il numero di comandi in esecuzione.

ritorna
int

getHostState

public CommandScheduler.HostState getHostState ()

ritorna
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Restituisce le informazioni su una chiamata bu specificando l'id di chiamata.

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

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 ()

Restituisci il Throwable dall'ultima invocazione eseguita. Restituisce null, se non è disponibile alcun throwable.

ritorna
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

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

ritorna
int

getShutdownTimeout

public long getShutdownTimeout ()

ritorna
long

notificaFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parametri
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Rimuovere tutti i comandi dall'utilità di pianificazione

correre

public void run ()

Il blocco di esecuzione principale di questo thread.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Imposta il client per segnalare i dati del cablaggio

Parametri
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Restituisce true se è necessario arrestare lo scheduler su un comando errori

ritorna
boolean

spegnimento

public void shutdown ()

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

Cancella i comandi in attesa di essere testati e richiede la chiusura regolare di tutte le chiamate in corso.

Dopo aver chiamato lo spegnimento, il ciclo principale dello scheduler attende il completamento di tutte le chiamate in corso prima di uscire completamente.

shutdownHard

public void shutdownHard (boolean killAdb)

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

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

Parametri
killAdb boolean

shutdownHard

public void shutdownHard ()

Tentare di arrestare forzatamente l'utilità di pianificazione dei comandi. Uguale a shutdownHard(true).

shutdownOnEmpty

public void shutdownOnEmpty ()

Simile a shutdown() , ma attenderà invece che tutti i comandi vengano eseguiti prima di uscire.

Si noti che se alcuni comandi sono in modalità loop, lo scheduler non uscirà mai.

inizio

public void start ()

Avvia lo scheduler inclusa la configurazione della registrazione, l'inizializzazione di DeviceManager ecc

stopInvocazione

public boolean stopInvocation (int invocationId, 
                String cause)

Arresta una chiamata in esecuzione specificando il suo id.

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

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

ritorna
boolean true se l'invocazione è stata interrotta, false in caso contrario

stopInvocazione

public boolean stopInvocation (ITestInvocation invocation)

Interrompi una chiamata in corso.

Parametri
invocation ITestInvocation

ritorna
boolean true se l'invocazione è stata interrotta, false in caso contrario

Metodi protetti

pulire

protected void cleanUp ()

Chiude i registri ed esegue qualsiasi altra pulizia necessaria prima di uscire.

Esposto in modo che gli unit test possano deridere.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Parametri
args String

ritorna
IConfiguration

Tiri
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

ritorna
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Metodo di fabbrica per ottenere un riferimento a IConfigurationFactory

ritorna
IConfigurationFactory la IConfigurationFactory da usare

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

ritorna
DeviceManagementGrpcServer

getDevice Manager

protected IDeviceManager getDeviceManager ()

Metodo di fabbrica per ottenere un riferimento a IDeviceManager

ritorna
IDeviceManager l' IDeviceManager da utilizzare

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

ritorna
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

ritorna
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Recupera un IKeyStoreClient usando IKeyStoreFactory dichiarato in IGlobalConfiguration o null se non ne è definito nessuno.

ritorna
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

ritorna
TestInvocationManagementServer

initLogging

protected void initLogging ()

Inizializza il registro di ddmlib.

Esposto in modo che gli unit test possano deridere.

isSpegnimento

protected boolean isShutdown ()

ritorna
boolean

isShuttingDown

protected boolean isShuttingDown ()

ritorna
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parametri
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Attendi il completamento di tutti i thread di chiamata.