ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Un programador para ejecutar comandos de TradeFederation.

Resumen

clases anidadas

interface ICommandScheduler.IScheduledInvocationListener

Escucha de 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) addCommandFile (String cmdFile, extraArgs)

Agrega todos los comandos del archivo dado al programador

abstract void await ()

Espera a que el programador comience a ejecutarse, incluida la espera 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 comandos actuales.

abstract void displayInvocationsInfo (PrintWriter printWriter)

Muestra una lista de invocaciones actuales.

abstract void dumpCommandsXml (PrintWriter printWriter, String regex)

Vuelque el archivo xml expandido para el comando con todos los valores 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 utilizando un IInvocationContext ya existente.

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

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

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

Ejecute comandos directamente en dispositivos ya asignados.

abstract CommandFileWatcher getCommandFileWatcher ()

Obtenga el CommandFileWatcher apropiado para este programador

abstract int getExecutingCommandCount ()

Devuelve el número de comandos en estado de ejecución.

abstract String getInvocationInfo (int invocationId)

Devuelve la información sobre una invocación bu especificando la identificación de la invocación.

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 el número de comandos en estado listo en la cola.

abstract boolean isDeviceInInvocationThread ( ITestDevice device)

Devuelve verdadero si el dispositivo es utilizado por 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 expire después de la duración especificada en milisegundos.

abstract void removeAllCommands ()

Eliminar todos los comandos del programador

abstract void setClearcutClient (ClearcutClient client)

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

abstract boolean shouldShutdownOnCmdfileError ()

Devuelve verdadero si necesitamos apagar el programador debido a un error de comando

default void shutdown ()

Intente cerrar correctamente el programador de comandos.

abstract void shutdown (boolean notifyStop)

Intente cerrar correctamente el programador de comandos.

abstract void shutdownHard (boolean killAdb)

Intente cerrar por la fuerza el programador de comandos.

abstract void shutdownHard ()

Intente cerrar por la fuerza el programador de comandos.

abstract void shutdownOnEmpty ()

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

abstract void start ()

Inicie ICommandScheduler .

abstract boolean stopInvocation (int invocationId, String cause)

Detenga una invocación en ejecución especificando su identificación.

default boolean stopInvocation (int invocationId)

Detenga una invocación en ejecución especificando su identificación.

abstract boolean stopInvocation ( ITestInvocation invocation)

Detener una invocación en ejecución.

default void stopScheduling ()

Deja de programar y aceptar nuevas pruebas, pero no detiene Tradefed.

Métodos públicos

agregarcomando

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

Agrega un comando al programador.

Un comando es esencialmente una instancia de una configuración a ejecutar y sus argumentos asociados.

Si se especifica el argumento "--help", el texto de ayuda para la configuración se enviará a la salida estándar. De lo contrario, la configuración se agregará a la cola para ejecutar.

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

Devoluciones
Pair <Boolean, Integer> Un par de valores, el primer valor es un valor booleano true si el comando se agregó correctamente. El segundo valor es la identificación del rastreador de comandos conocido (valor no negativo). Si el comando se agregó correctamente, devuelve 0 cuando se agrega el comando para todos los dispositivos; de lo contrario, -1.

Lanza
ConfigurationException si el comando no se pudo analizar

agregar archivo de comando

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Agrega todos los comandos del archivo dado al programador

Parámetros
cmdFile String : la ruta del sistema de archivos del archivo de comando

extraArgs : un ERROR(/List) de argumentos String para agregar a cada comando analizado desde el archivo. Puede estar vacío pero no debe ser nulo.

Lanza
ConfigurationException si el archivo de comando no se pudo analizar

Ver también:

esperar

public abstract void await ()

Espera a que el programador comience a ejecutarse, incluida la espera a que se complete la transferencia del TF anterior, si corresponde.

mostrarCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

mostrarComandosInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Genera una lista de comandos actuales.

Parámetros
printWriter PrintWriter : el ERROR(/PrintWriter) al que enviar.

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

mostrarInvocacionesInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Muestra una lista de invocaciones actuales.

Parámetros
printWriter PrintWriter : el ERROR(/PrintWriter) al que enviar.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Vuelque el archivo xml expandido para el comando con todos los valores Option especificados para todos los comandos actuales.

Parámetros
printWriter PrintWriter : el ERROR(/PrintWriter) al que enviar el estado.

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

comando ejecutivo

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 utilizando un IInvocationContext ya existente.

Parámetros
context IInvocationContext : un IInvocationContext existente.

listener ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener que debe ser informado

args String : los argumentos del comando.

Devoluciones
long

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

comando ejecutivo

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

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

Parámetros
listener ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener que debe ser informado

args String : los argumentos del comando.

Devoluciones
long El ID de invocación del comando programado.

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

comando ejecutivo

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

Ejecute comandos directamente en dispositivos ya asignados.

Parámetros
listener ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener que debe ser informado

devices : el ERROR(/List ) ERROR(/List ) usar

args String : los argumentos del comando.

Devoluciones
long El ID de invocación del comando programado.

Lanza
ConfigurationException si el comando no era válido

obtenerCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Obtenga el CommandFileWatcher apropiado para este programador

Devoluciones
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Devuelve el número de comandos en estado de ejecución.

Devoluciones
int

obtener información de invocación

public abstract String getInvocationInfo (int invocationId)

Devuelve la información sobre una invocación bu especificando la identificación de la invocación.

Parámetros
invocationId int : la identificación de seguimiento de la invocación.

Devoluciones
String Una String que contiene información sobre la invocación.

obtenerÚltimoCódigo de Salida de Invocación

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 ha ejecutado ninguna invocación.

Devoluciones
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Devuelve el Throwable de la última invocación que se ejecutó. Devuelve nulo, si no hay ningún elemento arrojable disponible.

Devoluciones
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Devuelve el número de comandos en estado listo en la cola.

Devoluciones
int

esDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Devuelve verdadero si el dispositivo es utilizado por un subproceso de invocación activo.

Parámetros
device ITestDevice

Devoluciones
boolean

unirse

public abstract void join ()

Espera a que se complete el programador.

Ver también:

unirse

public abstract void join (long millis)

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

Parámetros
millis long

Ver también:

eliminar todos los comandos

public abstract void removeAllCommands ()

Eliminar todos los comandos del programador

setClearcutCliente

public abstract void setClearcutClient (ClearcutClient client)

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

Parámetros
client ClearcutClient

deberíaShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Devuelve verdadero si necesitamos apagar el programador debido a un error de comando

Devoluciones
boolean

cerrar

public void shutdown ()

Intente cerrar correctamente el programador de comandos.

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

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

cerrar

public abstract void shutdown (boolean notifyStop)

Intente cerrar correctamente el programador de comandos.

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

apagadoDifícil

public abstract void shutdownHard (boolean killAdb)

Intente cerrar por la fuerza el programador de comandos.

Similar a shutdown() , pero opcionalmente también cancelará la conexión adb, en un intento de "inspirar" las invocaciones en progreso para que se completen más rápido.

Parámetros
killAdb boolean

apagadoDifícil

public abstract void shutdownHard ()

Intente cerrar por la fuerza el programador de comandos. Igual que ShutdownHard (verdadero).

apagadoOnEmpty

public abstract void shutdownOnEmpty ()

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

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

comenzar

public abstract void start ()

Inicie ICommandScheduler .

Debe llamarse antes de llamar a otros métodos.

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

detenerInvocación

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Detenga una invocación en ejecución especificando su identificación.

Parámetros
invocationId int : la identificación de seguimiento de la invocación.

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

Devoluciones
boolean Verdadero si se detuvo la invocación, falso en caso contrario.

Lanza
UnsupportedOperationException si la implementación no soporta esto

detenerInvocación

public boolean stopInvocation (int invocationId)

Detenga una invocación en ejecución especificando su identificación.

Parámetros
invocationId int

Devoluciones
boolean Verdadero si se detuvo la invocación, falso en caso contrario.

Lanza
UnsupportedOperationException si la implementación no soporta esto

detenerInvocación

public abstract boolean stopInvocation (ITestInvocation invocation)

Detener una invocación en ejecución.

Parámetros
invocation ITestInvocation

Devoluciones
boolean Verdadero si se detuvo la invocación, falso en caso contrario.

Lanza
UnsupportedOperationException si la implementación no soporta esto

detener la programación

public void stopScheduling ()

Deja de programar y aceptar nuevas pruebas, pero no detiene Tradefed. Esto está destinado a permitir un cierre de dos pasos donde primero drenamos todas las pruebas en ejecución y luego finalizamos el proceso Tradefed.