ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Es un programador para ejecutar comandos de TradeFederation.

Resumen

Clases anidadas

interface ICommandScheduler.IScheduledInvocationListener

Es un objeto de escucha para los eventos de invocación cuando se completa la invocación. 

Métodos públicos

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

Agrega un comando al programador.

abstract void addCommandFile(String cmdFile, extraArgs)

Agrega todos los comandos del archivo determinado al programador.

abstract void await()

Espera a que el programador comience a ejecutarse, lo que incluye esperar a que se complete la transferencia del TF anterior, si corresponde.

abstract void displayCommandQueue(PrintWriter printWriter)

Genera información de depuración detallada sobre el estado de la cola de ejecución de comandos.

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Genera una lista de los comandos actuales.

abstract void displayInvocationsInfo(PrintWriter printWriter)

Muestra una lista de las invocaciones actuales.

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

Volca el archivo XML expandido para el comando con todos los valores de Option especificados para todos los comandos actuales.

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

Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos con un IInvocationContext ya existente.

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

Asigna un dispositivo directamente y ejecuta un comando sin agregarlo a la cola de comandos.

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

Ejecuta el comando directamente en el dispositivo ya asignado.

abstract long execCommand(ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)

Ejecuta el comando directamente en los dispositivos ya asignados.

abstract CommandFileWatcher getCommandFileWatcher()

Obtén el CommandFileWatcher adecuado para este programador

abstract int getExecutingCommandCount()

Devuelve la cantidad de comandos en estado de ejecución.

abstract String getInvocationInfo(int invocationId)

Devuelve la información sobre una invocación especificando su ID.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

Devuelve el código de error de la última invocación que se ejecutó.

abstract Throwable getLastInvocationThrowable()

Devuelve el Throwable de la última invocación que se ejecutó.

abstract int getReadyCommandCount()

Devuelve la cantidad de comandos en estado listo en la cola.

abstract boolean isDeviceInInvocationThread(ITestDevice device)

Devuelve verdadero si el dispositivo se usa en un subproceso de invocación activo.

abstract void join()

Espera a que se complete el programador.

abstract void join(long millis)

Espera a que el programador se complete o se agote el tiempo de espera después de la duración especificada en milisegundos.

abstract void removeAllCommands()

Quita todos los comandos del programador

abstract void setClearcutClient(ClearcutClient client)

Configura el cliente para que informe los datos del arnés

default void setMaxPollTime(long polling)
default void setPrintSchedulingWarning(boolean print)
abstract boolean shouldShutdownOnCmdfileError()

Devuelve verdadero si necesitamos detener el programador en caso de errores de comando.

default void shutdown()

Intenta apagar de forma correcta el programador de comandos.

abstract void shutdown(boolean notifyStop)

Intenta apagar de forma correcta el programador de comandos.

abstract void shutdownHard(boolean killAdb)

Intenta apagar de forma forzosa el programador de comandos.

abstract void shutdownHard()

Intenta apagar de forma forzosa el programador de comandos.

abstract void shutdownOnEmpty()

Es similar a shutdown(), pero esperará a que se ejecuten todos los comandos antes de salir.

abstract void start()

Inicia el ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Detiene una invocación en ejecución especificando su ID.

default boolean stopInvocation(int invocationId)

Detiene una invocación en ejecución especificando su ID.

abstract boolean stopInvocation(ITestInvocation invocation)

Detiene una invocación en ejecución.

default void stopScheduling()

Detiene la programación y la aceptación de pruebas nuevas, pero no detiene Tradefed.

Métodos públicos

addCommand

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

Agrega un comando al programador.

Un comando es, básicamente, una instancia de una configuración para ejecutar y sus argumentos asociados.

Si se especifica el argumento "--help", el texto de ayuda para la configuración se generará en stdout. De lo contrario, la configuración se agregará a la cola para que se ejecute.

Parámetros
args String: Son los argumentos de configuración.

Muestra
Pair<Boolean, Integer> Es un par de valores. El primer valor es un true booleano si el comando se agregó correctamente. El segundo valor es el ID de seguimiento del comando conocido(valor no negativo) si el comando se agregó correctamente. De lo contrario, devuelve 0 cuando el comando se agrega para todos los dispositivos o -1.

Arroja
ConfigurationException Si no se pudo analizar el comando

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Agrega todos los comandos del archivo determinado al programador.

Parámetros
cmdFile String: Es la ruta de acceso del sistema de archivos del archivo de comandos.

extraArgs : Es un ERROR(/List) de argumentos String que se anexarán a cada comando analizado desde el archivo. Puede estar vacío, pero no debe ser nulo.

Arroja
ConfigurationException Si no se pudo analizar el archivo de comandos

También:

await

public abstract void await ()

Espera a que el programador comience a ejecutarse, lo que incluye esperar a que se complete la transferencia del TF anterior, si corresponde.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Genera información de depuración detallada sobre el estado de la cola de ejecución de comandos.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Genera una lista de los comandos actuales.

Parámetros
printWriter PrintWriter: Es el ERROR(/PrintWriter) en el que se generará el resultado.

regex String: Es la expresión regular con la que se deben hacer coincidir los comandos para que se impriman. Si es nulo, se imprimirán todos los comandos.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Muestra una lista de las invocaciones actuales.

Parámetros
printWriter PrintWriter: Es el ERROR(/PrintWriter) en el que se generará el resultado.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Volca el archivo XML expandido para el comando con todos los valores de Option especificados para todos los comandos actuales.

Parámetros
printWriter PrintWriter: Es el objeto ERROR(/PrintWriter) en el que se generará el estado.

regex String: Es la expresión regular con la que se deben hacer coincidir los comandos para que se vuelque el archivo XML. Si es nulo, se volcarán todos los comandos.

execCommand

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

Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos con un IInvocationContext ya existente.

Parámetros
context IInvocationContext: Es un IInvocationContext existente.

listener ICommandScheduler.IScheduledInvocationListener: Es el ICommandScheduler.IScheduledInvocationListener que se informará.

args String: Los argumentos del comando

Muestra
long

Arroja
ConfigurationException Si el comando no era válido
NoDeviceException Si no hay ningún dispositivo para usar

execCommand

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

Asigna un dispositivo directamente y ejecuta un comando sin agregarlo a la cola de comandos.

Parámetros
listener ICommandScheduler.IScheduledInvocationListener: Es el ICommandScheduler.IScheduledInvocationListener que se informará.

args String: Los argumentos del comando

Muestra
long Es el ID de invocación del comando programado.

Arroja
ConfigurationException Si el comando no era válido
NoDeviceException Si no hay ningún dispositivo para usar

execCommand

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

Ejecuta el comando directamente en el dispositivo ya asignado.

Parámetros
listener ICommandScheduler.IScheduledInvocationListener: Es el ICommandScheduler.IScheduledInvocationListener que se informará.

device ITestDevice: El ITestDevice que se usará

args String: Los argumentos del comando

Muestra
long Es el ID de invocación del comando programado.

Arroja
ConfigurationException Si el comando no era válido

execCommand

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 devices, 
                String[] args)

Ejecuta el comando directamente en los dispositivos ya asignados.

Parámetros
listener ICommandScheduler.IScheduledInvocationListener: Es el ICommandScheduler.IScheduledInvocationListener que se informará.

devices : El ERROR(/List) que se usará

args String: Los argumentos del comando

Muestra
long Es el ID de invocación del comando programado.

Arroja
ConfigurationException Si el comando no era válido

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Obtén el CommandFileWatcher adecuado para este programador

Muestra
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Devuelve la cantidad de comandos en estado de ejecución.

Muestra
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Devuelve la información sobre una invocación especificando su ID.

Parámetros
invocationId int: Es el ID de seguimiento de la invocación.

Muestra
String Un String que contiene información sobre la invocación.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Devuelve el código de error de la última invocación que se ejecutó. Devuelve 0 (sin error) si aún no se ejecutó ninguna invocación.

Muestra
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Devuelve el Throwable de la última invocación que se ejecutó. Devuelve null si no hay ningún objeto Throwable disponible.

Muestra
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Devuelve la cantidad de comandos en estado listo en la cola.

Muestra
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Devuelve verdadero si el dispositivo se usa en un subproceso de invocación activo.

Parámetros
device ITestDevice

Muestra
boolean

join

public abstract void join ()

Espera a que se complete el programador.

También:

join

public abstract void join (long millis)

Espera a que el programador se complete o se agote el tiempo de espera después de la duración especificada en milisegundos.

Parámetros
millis long

También:

removeAllCommands

public abstract void removeAllCommands ()

Quita todos los comandos del programador

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Configura el cliente para que informe los datos del arnés

Parámetros
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

Parámetros
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

Parámetros
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Devuelve verdadero si necesitamos detener el programador en caso de errores de comando.

Muestra
boolean

apagado

public void shutdown ()

Intenta apagar de forma correcta el programador de comandos.

Borra los comandos que esperan ser probados y solicita que todas las invocaciones en curso se cierren correctamente.

Después de que se llama a shutdown, el bucle principal del programador esperará a que se completen todas las invocaciones en curso antes de salir por completo.

apagado

public abstract void shutdown (boolean notifyStop)

Intenta apagar de forma correcta el programador de comandos.

Parámetros
notifyStop boolean: Si es verdadero, notifica las invocaciones del cierre de TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

Intenta apagar de forma forzosa el programador de comandos.

Es similar a shutdown(), pero también puede cerrar la conexión de adb de forma opcional, en un intento de "inspirar" las invocaciones en curso para que se completen más rápido.

Parámetros
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Intenta apagar de forma forzosa el programador de comandos. Es igual que shutdownHard(true).

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

Es similar a shutdown(), pero esperará a que se ejecuten todos los comandos antes de salir.

Ten en cuenta que, si algún comando está en modo de bucle, el programador nunca saldrá.

start

public abstract void start ()

Inicia el ICommandScheduler.

Se debe llamar antes de llamar a otros métodos.

Se ejecutará hasta que se llame a shutdown(). Consulta Thread.start().

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Detiene una invocación en ejecución especificando su ID.

Parámetros
invocationId int: Es el ID de seguimiento de la invocación.

cause String: Es la causa por la que se detuvo la invocación.

Muestra
boolean Es verdadero si se detuvo la invocación; de lo contrario, es falso.

Arroja
UnsupportedOperationException si la implementación no admite esta opción

stopInvocation

public boolean stopInvocation (int invocationId)

Detiene una invocación en ejecución especificando su ID.

Parámetros
invocationId int

Muestra
boolean Es verdadero si se detuvo la invocación; de lo contrario, es falso.

Arroja
UnsupportedOperationException si la implementación no admite esta opción

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Detiene una invocación en ejecución.

Parámetros
invocation ITestInvocation

Muestra
boolean Es verdadero si se detuvo la invocación; de lo contrario, es falso.

Arroja
UnsupportedOperationException si la implementación no admite esta opción

stopScheduling

public void stopScheduling ()

Detiene la programación y la aceptación de pruebas nuevas, pero no detiene Tradefed. Esto tiene como objetivo habilitar un cierre de dos pasos en el que primero se agotan todas las pruebas en ejecución y, luego, se finaliza el proceso de Tradefed.