ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Un programador para ejecutar comandos de TradeFederation.

Resumen

Clases anidadas

interface ICommandScheduler.IScheduledInvocationListener

Objeto de escucha para 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 entrega de la TF anterior, si corresponde.

abstract void displayCommandQueue(PrintWriter printWriter)

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

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

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

Vacía el archivo en formato XML expandido del 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 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, ITestDevice device, String[] args)

Ejecuta el comando directamente en un 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()

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

abstract String getInvocationInfo(int invocationId)

Muestra la información de una invocación especificando el ID de invocación.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

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

abstract Throwable getLastInvocationThrowable()

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

abstract int getReadyCommandCount()

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

abstract boolean isDeviceInInvocationThread(ITestDevice device)

Muestra true si un subproceso de invocación activo usa el dispositivo.

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 del tiempo especificado en milisegundos.

abstract void removeAllCommands()

Quitar todos los comandos del programador

abstract void setClearcutClient(ClearcutClient client)

Configura el cliente para que informe datos del arnés

abstract boolean shouldShutdownOnCmdfileError()

Muestra verdadero si necesitamos cerrar el programador en un error de comando.

default void shutdown()

Intenta cerrar el programador de comandos de forma correcta.

abstract void shutdown(boolean notifyStop)

Intenta cerrar el programador de comandos de forma correcta.

abstract void shutdownHard(boolean killAdb)

Intenta cerrar de manera forzosa el programador de comandos.

abstract void shutdownHard()

Intenta cerrar de manera 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 ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Para detener una invocación en ejecución, especifica su ID.

default boolean stopInvocation(int invocationId)

Para detener una invocación en ejecución, especifica su ID.

abstract boolean stopInvocation(ITestInvocation invocation)

Detén 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.

En esencia, un comando es una instancia de una configuración que se ejecutará y sus argumentos asociados.

Si se especifica el argumento “--help”, el texto de ayuda para la configuración se enviará a stdout. De lo contrario, la configuración se agregará a la cola para ejecutarse.

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

Muestra
Pair<Boolean, Integer> Un par de valores, el primer valor es un true booleano si el comando se agregó correctamente. El segundo valor es el ID conocido del servicio de seguimiento de comandos(valor no negativo) si el comando se agregó correctamente. Muestra 0 cuando se agrega el comando para todos los dispositivos; de lo contrario, muestra -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 agregarán a cada comando analizado del archivo. Puede estar vacío, pero no debe ser nulo.

Arroja
ConfigurationException No se pudo analizar el archivo de comando if

También:

await

public abstract void await ()

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

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

Muestra una lista de los comandos actuales.

Parámetros
printWriter PrintWriter: Es el ERROR(/PrintWriter) al que se enviará la salida.

regex String: Es la expresión regular con la que deben 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) al que se enviará el resultado.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Vacía el archivo en formato XML expandido del comando con todos los valores de Option especificados para todos los comandos actuales.

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

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

execCommand

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

Aloca 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 directamente un dispositivo 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 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 un dispositivo ya asignado.

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

device ITestDevice: Es el ITestDevice que se usará.

args String: Los argumentos del comando

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

Arroja
ConfigurationException si el comando no es válido

execCommand

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

Ejecuta el comando directamente en dispositivos ya asignados.

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

devices : Es el ERROR(/List) que se usará.

args String: Los argumentos del comando

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

Arroja
ConfigurationException si el comando no era válido

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Obtener el CommandFileWatcher adecuado para este programador

Muestra
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

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

Muestra
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Muestra la información de una invocación especificando el ID de invocación.

Parámetros
invocationId int: 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 ()

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

Muestra
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Muestra el Throwable de la última invocación que se ejecutó. Se muestra un valor nulo si no hay un throwable disponible.

Muestra
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

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

Muestra
int

ThreadInvocacióndeDispositivos

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Muestra verdadero si un subproceso de invocación activo usa el dispositivo.

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 aprovechamiento

Parámetros
client ClearcutClient

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Muestra verdadero si necesitamos cerrar el programador en un error de comando.

Muestra
boolean

apagado

public void shutdown ()

Intenta cerrar el programador de comandos de forma correcta.

Borra los comandos que esperan a que se prueben y solicita que todas las invocaciones en curso se cierren de forma correcta.

Después de llamar al cierre, 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 cerrar el programador de comandos de forma correcta.

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

apagarDuro

public abstract void shutdownHard (boolean killAdb)

Intenta cerrar el programador de comandos de manera forzosa.

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

Parámetros
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Intenta cerrar el programador de comandos de manera forzosa. Igual que shutdownHard(true).

cierre_vacío

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 se cerrará.

start

public abstract void start ()

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

Para detener una invocación en ejecución, especifica su ID.

Parámetros
invocationId int: 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 esto

stopInvocation

public boolean stopInvocation (int invocationId)

Para detener una invocación en ejecución, especifica 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 esto

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Detener 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 esto

stopScheduling

public void stopScheduling ()

Detiene la programación y la aceptación de pruebas nuevas, pero no detiene Tradefed. El objetivo es permitir el cierre de dos pasos, en el que primero vaciamos todas las pruebas en ejecución y, luego, finalizamos el proceso de Tradefed.