Programador de comandos

public class CommandScheduler
extends Object implements ICommandScheduler

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


Un programador para ejecutar comandos de TradeFederation en todos los dispositivos disponibles.

Intentará priorizar los comandos para ejecutar en función de un recuento total de su tiempo de ejecución. por ejemplo, los comandos de ejecución rápida o poco frecuente tendrán prioridad sobre los comandos de ejecución prolongada.

Se ejecuta siempre en segundo plano hasta que se apaga.

Resumen

clases anidadas

enum CommandScheduler.HostState

Enumeraciones de diferentes estados de host

Constructores públicos

CommandScheduler ()

Crea un CommandScheduler .

Métodos públicos

boolean addCommand (String[] args)

Agrega un comando al programador.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

Agrega todos los comandos del archivo dado al programador

void await ()

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

static TradefedDelegator checkDelegation (String[] args)

Cree un delegador basado en la línea de comando para ver si necesitamos delegar la ejecución.

void completeHandover ()

Informa al programador de comandos que una secuencia de transferencia iniciada está completamente completa y que debe reinicializar su administrador remoto en el puerto predeterminado.

static createReleaseMap (IInvocationContext context, Throwable e)

Crear un mapa del estado de los dispositivos para que puedan ser liberados adecuadamente.

ISandbox createSandbox ()

Cree un ISandbox que utilizará la invocación para ejecutarse.

void displayCommandQueue (PrintWriter printWriter)

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

void displayCommandsInfo (PrintWriter printWriter, String regex)

Genera una lista de comandos actuales.

void displayInvocationsInfo (PrintWriter printWriter)

Muestra una lista de invocaciones actuales.

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.

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

Ejecute directamente el comando en el dispositivo ya asignado.

void 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.

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

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

CommandFileWatcher getCommandFileWatcher ()

Obtenga el CommandFileWatcher apropiado para este programador

int getExecutingCommandCount ()

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

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

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

CommandRunner.ExitCode getLastInvocationExitCode ()

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

Throwable getLastInvocationThrowable ()

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

int getReadyCommandCount ()

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

long getShutdownTimeout ()
void handoverInitiationComplete ()

Informa al programador de comandos que el intercambio de transferencia inicial de dispositivos y comandos en uso está completo y que puede comenzar a programar la operación.

boolean handoverShutdown (int handoverPort)

Inicia un shutdown() y un traspaso a otro proceso alimentado por comercio en este mismo host.

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

Eliminar todos los comandos del programador

void run ()

El bloque de ejecución principal de este hilo.

void setClearcutClient (ClearcutClient client)

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

boolean shouldShutdownOnCmdfileError ()

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

void shutdown ()

Intente cerrar correctamente el programador de comandos.

void shutdownHard (boolean killAdb)

Intente cerrar por la fuerza el programador de comandos.

void shutdownHard ()

Intente cerrar por la fuerza el programador de comandos.

void shutdownOnEmpty ()

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

void start ()

Inicia el programador, incluida la configuración del registro, el inicio de DeviceManager , etc.

boolean stopInvocation ( ITestInvocation invocation)

Detener una invocación en ejecución.

boolean stopInvocation (int invocationId, String cause)

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

Métodos protegidos

void cleanUp ()

Cierra los registros y realiza cualquier otra limpieza necesaria antes de salir.

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

Método de fábrica para obtener una referencia a IConfigurationFactory

IDeviceManager getDeviceManager ()

Método de fábrica para obtener una referencia al IDeviceManager

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

Obtiene un IKeyStoreClient utilizando IKeyStoreFactory declarado en IGlobalConfiguration o nulo si no hay ninguno definido.

void initLogging ()

Inicializa el registro ddmlib.

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

Espere hasta que se completen todos los hilos de invocación.

Constructores públicos

Programador de comandos

public CommandScheduler ()

Crea un CommandScheduler .

Nota: se debe llamar al inicio antes de su uso.

Métodos públicos

agregarcomando

public boolean 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
boolean true si el comando se agregó correctamente

Lanza
ConfigurationException

agregar archivo de comando

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Agrega todos los comandos del archivo dado al programador

Parámetros
cmdFilePath 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

esperar

public void await ()

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

checkDelegación

public static TradefedDelegator checkDelegation (String[] args)

Cree un delegador basado en la línea de comando para ver si necesitamos delegar la ejecución.

Parámetros
args String

Devoluciones
TradefedDelegator

Lanza
ConfigurationException

entrega completa

public void completeHandover ()

Informa al programador de comandos que una secuencia de transferencia iniciada está completamente completa y que debe reinicializar su administrador remoto en el puerto predeterminado.

crearReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Crear un mapa del estado de los dispositivos para que puedan ser liberados adecuadamente.

Parámetros
context IInvocationContext

e Throwable

Devoluciones

crearSandbox

public ISandbox createSandbox ()

Cree un ISandbox que utilizará la invocación para ejecutarse.

Devoluciones
ISandbox

mostrarCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

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

mostrarComandosInfo

public 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 void displayInvocationsInfo (PrintWriter printWriter)

Muestra una lista de invocaciones actuales.

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

dumpCommandsXml

public 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 void execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                ITestDevice device, 
                String[] args)

Ejecute directamente el comando en el dispositivo ya asignado.

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

device ITestDevice : el ITestDevice a utilizar

args String : los argumentos del comando.

Lanza
ConfigurationException

comando ejecutivo

public void 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.

Lanza
ConfigurationException
NoDeviceException

comando ejecutivo

public void 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.

Lanza
ConfigurationException
NoDeviceException

obtenerCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Obtenga el CommandFileWatcher apropiado para este programador

Devoluciones
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

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

Devoluciones
int

getHostState

public CommandScheduler.HostState getHostState ()

Devoluciones
CommandScheduler.HostState

obtener información de invocación

public 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 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 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 int getReadyCommandCount ()

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

Devoluciones
int

getShutdownTimeout

public long getShutdownTimeout ()

Devoluciones
long

traspasoIniciaciónCompletar

public void handoverInitiationComplete ()

Informa al programador de comandos que el intercambio de transferencia inicial de dispositivos y comandos en uso está completo y que puede comenzar a programar la operación.

entregaApagar

public boolean handoverShutdown (int handoverPort)

Inicia un shutdown() y un traspaso a otro proceso alimentado por comercio en este mismo host.

El programador informará al proceso de intercambio remoto que escucha en ese puerto los dispositivos liberados a medida que estén disponibles.

Parámetros
handoverPort int

Devoluciones
boolean true si el inicio de la transferencia fue exitoso; false en caso contrario

notificar archivo cambiado

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parámetros
cmdFile File

extraArgs

eliminar todos los comandos

public void removeAllCommands ()

Eliminar todos los comandos del programador

correr

public void run ()

El bloque de ejecución principal de este hilo.

setClearcutCliente

public void setClearcutClient (ClearcutClient client)

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

Parámetros
client ClearcutClient

deberíaShutdownOnCmdfileError

public 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.

apagadoDifícil

public 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 void shutdownHard ()

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

apagadoOnEmpty

public 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 void start ()

Inicia el programador, incluida la configuración del registro, el inicio de DeviceManager , etc.

detenerInvocación

public boolean stopInvocation (ITestInvocation invocation)

Detener una invocación en ejecución.

Parámetros
invocation ITestInvocation

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

detenerInvocación

public 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 la invocación se detuvo, falso en caso contrario.

Métodos protegidos

limpiar

protected void cleanUp ()

Cierra los registros y realiza cualquier otra limpieza necesaria antes de salir.

Expuesto para que las pruebas unitarias puedan burlarse.

crear configuración

protected IConfiguration createConfiguration (String[] args)

Parámetros
args String

Devoluciones
IConfiguration

Lanza
ConfigurationException

crear contexto de invocación

protected IInvocationContext createInvocationContext ()

Devoluciones
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Método de fábrica para obtener una referencia a IConfigurationFactory

Devoluciones
IConfigurationFactory el IConfigurationFactory a utilizar

obtenerAdministrador de dispositivos

protected IDeviceManager getDeviceManager ()

Método de fábrica para obtener una referencia al IDeviceManager

Devoluciones
IDeviceManager el IDeviceManager a utilizar

obtener servidor de funciones

protected TradefedFeatureServer getFeatureServer ()

Devoluciones
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Devoluciones
IHostOptions

getKeyStoreCliente

protected IKeyStoreClient getKeyStoreClient ()

Obtiene un IKeyStoreClient utilizando IKeyStoreFactory declarado en IGlobalConfiguration o nulo si no hay ninguno definido.

Devoluciones
IKeyStoreClient Cliente IKeyStore

inicio de sesión

protected void initLogging ()

Inicializa el registro ddmlib.

Expuesto para que las pruebas unitarias puedan burlarse.

está apagado

protected boolean isShutdown ()

Devoluciones
boolean

se está cerrando

protected boolean isShuttingDown ()

Devoluciones
boolean

procesoReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parámetros
manager IDeviceManager

esperar para todos los hilos de invocación

protected void waitForAllInvocationThreads ()

Espere hasta que se completen todos los hilos de invocación.