IRunUtil

public interface IRunUtil

com.android.tradefed.util.IRunUtil


Interfaccia per l'esecuzione di operazioni temporizzate e comandi di sistema.

Riepilogo

Classi nidificate

interface IRunUtil.IRunnableResult

Un'interfaccia per l'esecuzione asincrona di un'operazione che restituisce uno stato booleano.

Metodi pubblici

abstract void allowInterrupt (boolean allow)

Consente/non consente gli interrupt di esecuzione sul thread corrente.

abstract void interrupt (Thread thread, String message, ErrorIdentifier errorId)

Interrompe le operazioni di esecuzione in corso/imminente sul thread specificato.

abstract void interrupt (Thread thread, String message)

Interrompe le operazioni di esecuzione in corso/imminente sul thread specificato.

abstract boolean isInterruptAllowed ()

Fornire lo stato di interruzione di RunUtil.

abstract Process runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command)

Un metodo runCmdInBackground(String) alternativo che accetta gli argomenti del comando nel formato ERROR(/List) .

abstract Process runCmdInBackground ( command) runCmdInBackground ( command)

Un metodo runCmdInBackground(String) alternativo che accetta gli argomenti del comando nel formato ERROR(/List) .

abstract Process runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output)

L'esecuzione del comando con un ERROR(/OutputStream) registra l'output del comando.

abstract Process runCmdInBackground (String... command)

Metodo helper per eseguire un comando di sistema in modo asincrono.

abstract Process runCmdInBackground (Redirect redirect, String... command)

Metodo helper per eseguire un comando di sistema in modo asincrono.

abstract boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte finché non ha successo.

abstract boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte finché non ha successo.

abstract CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Blocca ed esegue un'operazione, interrompendola se impiega più tempo di un tempo specificato.

abstract CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)

Metodo helper per eseguire un comando di sistema, interrompere se richiede più tempo di un tempo specificato e reindirizzare l'output ai file se specificato.

abstract CommandResult runTimedCmd (long timeout, String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato.

abstract CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato.

abstract CommandResult runTimedCmdSilently (long timeout, String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato.

abstract CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato.

abstract CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)

Metodo helper per eseguire un comando di sistema, interrompere se richiede più tempo di un tempo specificato e reindirizzare l'output ai file se specificato.

abstract CommandResult runTimedCmdWithInput (long timeout, String input, String... command)

Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato.

abstract CommandResult runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command)

Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato.

abstract CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)

Metodo helper per eseguire un comando di sistema che richiede il reindirizzamento di Stdin da un file e l'interruzione se richiede più tempo di un tempo specificato.

abstract boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte finché non ha successo.

abstract void setEnvVariable (String key, String value)

Imposta una variabile di ambiente da utilizzare durante l'esecuzione dei comandi di sistema.

abstract void setEnvVariablePriority ( IRunUtil.EnvPriority priority)

Decidi se durante la creazione di un processo, l'annullamento dell'impostazione della variabile d'ambiente ha una priorità maggiore rispetto all'impostazione.

abstract void setInterruptibleInFuture (Thread thread, long timeMs)

Impostato come interrompibile dopo un certo tempo di attesa.

abstract void setLinuxInterruptProcess (boolean interrupt)

Consenti di utilizzare l'interruzione di Linux 'kill' sul processo che esegue i metodi #runTimed quando raggiunge un timeout.

abstract void setRedirectStderrToStdout (boolean redirect)

Imposta il flusso di errore standard per il reindirizzamento al flusso di output standard durante l'esecuzione dei comandi di sistema.

abstract void setWorkingDir (File dir)

Imposta la directory di lavoro per i comandi di sistema.

abstract void sleep (long time)

Metodo di supporto per dormire per un determinato periodo di tempo, ignorando eventuali eccezioni.

abstract void unsetEnvVariable (String key)

Annulla l'impostazione di una variabile di ambiente, quindi i comandi di sistema vengono eseguiti senza questa variabile di ambiente.

Metodi pubblici

consentireInterrupt

public abstract void allowInterrupt (boolean allow)

Consente/non consente gli interrupt di esecuzione sul thread corrente. Se consentito, le operazioni di esecuzione del thread corrente possono essere interrotte da altri thread tramite il metodo interrupt(Thread, String) .

Parametri
allow boolean : se consentire interruzioni di esecuzione sul thread corrente.

interrompere

public abstract void interrupt (Thread thread, 
                String message, 
                ErrorIdentifier errorId)

Interrompe le operazioni di esecuzione in corso/imminente sul thread specificato. Le operazioni di esecuzione sul thread specificato genereranno RunInterruptedException .

Parametri
message String : il messaggio per RunInterruptedException .

errorId ErrorIdentifier : Rappresenta la causa dell'interruzione se nota.

interrompere

public abstract void interrupt (Thread thread, 
                String message)

Interrompe le operazioni di esecuzione in corso/imminente sul thread specificato. Le operazioni di esecuzione sul thread specificato genereranno RunInterruptedException .

Parametri
message String : il messaggio per RunInterruptedException .

isInterruptAllowed

public abstract boolean isInterruptAllowed ()

Fornire lo stato di interruzione di RunUtil.

ritorna
boolean true se l'esecuzione può essere interrotta, false in caso contrario.

eseguireCmdInBackground

public abstract Process runCmdInBackground (Redirect redirect, 
                 command)

Un metodo runCmdInBackground(String) alternativo che accetta gli argomenti del comando nel formato ERROR(/List) .

Parametri
redirect Redirect : ERROR(/Redirect) da applicare a ProcessBuilder .

command : ERROR(/List) contenente il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
Process il Process del comando eseguito

Getta
se il comando non è stato eseguito

eseguireCmdInBackground

public abstract Process runCmdInBackground ( command)

Un metodo runCmdInBackground(String) alternativo che accetta gli argomenti del comando nel formato ERROR(/List) .

Parametri
command : ERROR(/List) contenente il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
Process il Process del comando eseguito

Getta
se il comando non è stato eseguito

eseguireCmdInBackground

public abstract Process runCmdInBackground ( command, 
                OutputStream output)

L'esecuzione del comando con un ERROR(/OutputStream) registra l'output del comando. Stdout e stderr vengono uniti insieme.

Parametri
command : il comando da eseguire

output OutputStream : OutputStream per salvare l'output

ritorna
Process il Process che esegue il comando

Getta
IOException

eseguireCmdInBackground

public abstract Process runCmdInBackground (String... command)

Metodo helper per eseguire un comando di sistema in modo asincrono.

Tornerà immediatamente dopo aver lanciato il comando.

Parametri
command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
Process il Process del comando eseguito

Getta
se il comando non è stato eseguito

eseguireCmdInBackground

public abstract Process runCmdInBackground (Redirect redirect, 
                String... command)

Metodo helper per eseguire un comando di sistema in modo asincrono.

Tornerà immediatamente dopo aver lanciato il comando.

Parametri
redirect Redirect : ERROR(/Redirect) da applicare a ProcessBuilder .

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
Process il Process del comando eseguito

Getta
se il comando non è stato eseguito

runEscalatingTimedRetry

public abstract boolean runEscalatingTimedRetry (long opTimeout, 
                long initialPollInterval, 
                long maxPollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte finché non ha successo.

Aumenta esponenzialmente il tempo di attesa tra i tentativi di operazione. Questo è pensato per essere utilizzato durante l'esecuzione di un'operazione come il polling di un server, per dargli il tempo di ripristinarsi nel caso in cui sia temporaneamente inattivo.

Parametri
opTimeout long : tempo massimo di attesa in ms per un singolo tentativo di operazione

initialPollInterval long : tempo iniziale di attesa tra i tentativi di operazione

maxPollInterval long : il tempo massimo di attesa tra i tentativi di operazione

maxTime long : il tempo massimo approssimativo totale per continuare a provare l'operazione

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire

ritorna
boolean true se l'operazione è stata completata correttamente prima della scadenza di maxTime

runFixedTimedRetry

public abstract boolean runFixedTimedRetry (long opTimeout, 
                long pollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte finché non ha successo.

Parametri
opTimeout long : tempo massimo di attesa in ms per un singolo tentativo di operazione

pollInterval long : tempo iniziale di attesa tra i tentativi di operazione

maxTime long : il tempo massimo approssimativo totale per continuare a provare l'operazione

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire

ritorna
boolean true se l'operazione è stata completata correttamente prima della scadenza di maxTime

runTimed

public abstract CommandStatus runTimed (long timeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Blocca ed esegue un'operazione, interrompendola se impiega più tempo di un tempo specificato.

Parametri
timeout long : tempo massimo di attesa in ms

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire

logErrors boolean : registra gli errori sull'eccezione o meno.

ritorna
CommandStatus il risultato dell'operazione CommandStatus .

runTimedCmd

public abstract CommandResult runTimedCmd (long timeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

Metodo helper per eseguire un comando di sistema, interrompere se richiede più tempo di un tempo specificato e reindirizzare l'output ai file se specificato. Quando ERROR(/OutputStream) vengono forniti in questo modo, verranno lasciati aperti alla fine della funzione.

Parametri
timeout long : timeout tempo massimo di attesa in ms. 0 significa nessun timeout.

stdout OutputStream : ERROR(/OutputStream) dove verrà reindirizzato l'output std. Può essere nullo.

stderr OutputStream : ERROR(/OutputStream) dove verrà reindirizzato l'output dell'errore. Può essere nullo.

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmd

public abstract CommandResult runTimedCmd (long timeout, 
                String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato.

Parametri
timeout long : tempo massimo di attesa in ms. 0 significa nessun timeout.

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdRetry

public abstract CommandResult runTimedCmdRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato.

Parametri
timeout long : tempo massimo di attesa in ms per ogni tentativo

retryInterval long : tempo di attesa tra i tentativi di comando

attempts int : il numero massimo di tentativi da provare

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdSilently

public abstract CommandResult runTimedCmdSilently (long timeout, 
                String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato. Simile a runTimedCmd(long, String) , ma non registra alcun errore in caso di eccezione.

Parametri
timeout long : tempo massimo di attesa in ms

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdSilentlyRetry

public abstract CommandResult runTimedCmdSilentlyRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato. Simile runTimedCmdRetry(long, long, int, String[]) , ma non registra alcun errore in caso di eccezione.

Parametri
timeout long : tempo massimo di attesa in ms

retryInterval long : tempo di attesa tra i tentativi di comando

attempts int : il numero massimo di tentativi da provare

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithInput

public abstract CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                File stdoutFile, 
                File stderrFile, 
                String... command)

Metodo helper per eseguire un comando di sistema, interrompere se richiede più tempo di un tempo specificato e reindirizzare l'output ai file se specificato.

Parametri
timeout long : timeout tempo massimo di attesa in ms. 0 significa nessun timeout.

input String : l'input stdin da passare al processo

stdoutFile File : ERROR(/File) dove verrà reindirizzato l'output std. Può essere nullo.

stderrFile File : ERROR(/File) dove verrà reindirizzato l'output dell'errore. Può essere nullo.

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithInput

public abstract CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                String... command)

Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato.

Parametri
timeout long : tempo massimo di attesa in ms

input String : l'input stdin da passare al processo

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithInput

public abstract CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                 command)

Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato.

Parametri
timeout long : tempo massimo di attesa in ms

input String : l'input stdin da passare al processo

command : ERROR(/List) contenente il comando di sistema e facoltativamente gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithInputRedirect

public abstract CommandResult runTimedCmdWithInputRedirect (long timeout, 
                File inputRedirect, 
                String... command)

Metodo helper per eseguire un comando di sistema che richiede il reindirizzamento di Stdin da un file e l'interruzione se richiede più tempo di un tempo specificato.

Parametri
timeout long : tempo massimo di attesa in ms

inputRedirect File : ERROR(/File) da reindirizzare come input standard utilizzando ProcessBuilder.redirectInput() . Se null, stdin non verrà reindirizzato.

command String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec

ritorna
CommandResult un CommandResult contenente il risultato dell'esecuzione del comando

runTimedRetry

public abstract boolean runTimedRetry (long opTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte finché non ha successo.

Parametri
opTimeout long : tempo massimo di attesa in ms per un tentativo di operazione

pollInterval long : tempo di attesa tra i tentativi di comando

attempts int : il numero massimo di tentativi da provare

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire

ritorna
boolean true se l'operazione è stata completata correttamente prima del raggiungimento dei tentativi.

setEnvVariable

public abstract void setEnvVariable (String key, 
                String value)

Imposta una variabile di ambiente da utilizzare durante l'esecuzione dei comandi di sistema.

Parametri
key String : il nome della variabile

value String : il valore della variabile

setEnvVariablePriority

public abstract void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Decidi se durante la creazione di un processo, l'annullamento dell'impostazione della variabile d'ambiente ha una priorità maggiore rispetto all'impostazione. Per impostazione predefinita, l'annullamento dell'impostazione ha la priorità più alta: ciò significa che se viene effettuato un tentativo di impostare una variabile con lo stesso nome, non accadrà poiché la variabile verrà annullata. Non può essere utilizzato sull'istanza IRunUtil predefinita.

Parametri
priority IRunUtil.EnvPriority

setInterruptibleInFuture

public abstract void setInterruptibleInFuture (Thread thread, 
                long timeMs)

Impostato come interrompibile dopo un certo tempo di attesa. ERROR(/CommandScheduler#shutdownHard()) per forzare la terminazione alla fine.

Parametri
thread Thread : il thread che diventerà interrompibile.

timeMs long : tempo di attesa prima di impostare interrompibile.

setLinuxInterruptProcess

public abstract void setLinuxInterruptProcess (boolean interrupt)

Consenti di utilizzare l'interruzione di Linux 'kill' sul processo che esegue i metodi #runTimed quando raggiunge un timeout. Non può essere utilizzato sull'istanza IRunUtil predefinita.

Parametri
interrupt boolean

setRedirectStderrToStdout

public abstract void setRedirectStderrToStdout (boolean redirect)

Imposta il flusso di errore standard per il reindirizzamento al flusso di output standard durante l'esecuzione dei comandi di sistema. Il valore iniziale è falso.

Parametri
redirect boolean : nuovo valore per stabilire se reindirizzare o meno

setWorkingDir

public abstract void setWorkingDir (File dir)

Imposta la directory di lavoro per i comandi di sistema.

Parametri
dir File : la directory di lavoro

sonno

public abstract void sleep (long time)

Metodo di supporto per dormire per un determinato periodo di tempo, ignorando eventuali eccezioni.

Parametri
time long : ms per dormire. i valori inferiori o uguali a 0 verranno ignorati

unsetEnvVariable

public abstract void unsetEnvVariable (String key)

Annulla l'impostazione di una variabile di ambiente, quindi i comandi di sistema vengono eseguiti senza questa variabile di ambiente.

Parametri
key String : il nome della variabile