Programador de comandos

public class CommandScheduler
extends Object implements ICommandScheduler

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


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

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

Se ejecuta para siempre en segundo plano hasta que se apaga.

Resumen

Constructores públicos

CommandScheduler ()

Crea un CommandScheduler .

Métodos públicos

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

Agrega un comando al planificador.

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 de que se complete el traspaso del antiguo TF, 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.

static createReleaseMap ( IInvocationContext context, Throwable e)

Cree un mapa del estado de los dispositivos para que puedan liberarse adecuadamente.

ISandbox createSandbox ()

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

void displayCommandQueue (PrintWriter printWriter)

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

void displayCommandsInfo (PrintWriter printWriter, String regex)

Muestra una lista de los 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.

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

Ejecute directamente el comando en los dispositivos ya asignados.

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

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

long 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 un bu de invocación especificando el id de 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 ()
boolean isDeviceInInvocationThread ( ITestDevice device)

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

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

Eliminar todos los comandos del programador

void run ()

El principal bloque de ejecución de este hilo.

void setClearcutClient (ClearcutClient client)

Configurar el cliente para informar datos de arnés

boolean shouldShutdownOnCmdfileError ()

Devuelve verdadero si necesitamos apagar el programador en un error de comando

void shutdown (boolean notifyStop)

Intente cerrar correctamente el programador de comandos.

void shutdownHard (boolean killAdb)

Intente apagar a la fuerza el programador de comandos.

void shutdownHard ()

Intente apagar a 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 id.

Métodos protegidos

void cleanUp ()

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

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory ()

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

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

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

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

Obtiene un IKeyStoreClient usando IKeyStoreFactory declarado en IGlobalConfiguration o nulo si no se define ninguno.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Inicializa el registro de ddmlib.

boolean isShutdown ()
void processReadyCommands ( IDeviceManager manager)

Constructores públicos

Programador de comandos

public CommandScheduler ()

Crea un CommandScheduler .

Nota: el inicio debe llamarse antes de su uso.

Métodos públicos

añadirComando

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

Agrega un comando al planificador.

Un comando es esencialmente 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 enviará a la salida estándar. De lo contrario, la configuración se agregará a la cola para ejecutarse.

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

Devoluciones
Pair <Boolean, Integer> Un par de valores, el primer valor es un 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

añadirCommandFile

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 de que se complete el traspaso del antiguo TF, si corresponde.

comprobar Delegació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
com.android.tradefed.config.ConfigurationException
ConfigurationException

crearReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Cree un mapa del estado de los dispositivos para que puedan liberarse 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)

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

mostrarCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Muestra una lista de los comandos actuales.

Parámetros
printWriter PrintWriter : el ERROR(/PrintWriter) a la salida.

regex String : la expresión regular con la que deben coincidir los comandos para que se impriman. 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) a la salida.

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) para enviar el estado.

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

comandoejecutivo

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

Ejecute directamente el comando en los dispositivos ya asignados.

Parámetros
listener ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener para ser informado

reservedDevices : el ERROR(/List ) ERROR(/List ) para usar

args String : los argumentos del comando

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

Lanza
ConfigurationException

comandoejecutivo

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

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

Parámetros
context IInvocationContext : un IInvocationContext existente.

listener ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener para ser informado

args String : los argumentos del comando

Devoluciones
long

Lanza
ConfigurationException
NoDeviceException

comandoejecutivo

public 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 para ser informado

args String : los argumentos del comando

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

Lanza
ConfigurationException
NoDeviceException

getCommandFileWatcher

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

obtenerInvocaciónInformación

public String getInvocationInfo (int invocationId)

Devuelve la información sobre un bu de invocación especificando el id de invocación.

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

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

getLastInvocationExitCode

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ó. Retorna nulo, si no hay disponible un arrojable.

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

isDeviceInInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

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

Parámetros
device ITestDevice

Devoluciones
boolean

se está cerrando

public boolean isShuttingDown ()

Devoluciones
boolean

notificarArchivoCambiado

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parámetros
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Eliminar todos los comandos del programador

correr

public void run ()

El principal bloque de ejecución de este hilo.

establecerClearcutClient

public void setClearcutClient (ClearcutClient client)

Configurar el cliente para informar datos de arnés

Parámetros
client ClearcutClient

deberíaShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Devuelve verdadero si necesitamos apagar el programador en un error de comando

Devoluciones
boolean

cerrar

public void shutdown (boolean notifyStop)

Intente cerrar correctamente el programador de comandos.

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

apagar duro

public void shutdownHard (boolean killAdb)

Intente apagar a la fuerza el programador de comandos.

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

Parámetros
killAdb boolean

apagar duro

public void shutdownHard ()

Intente apagar a la fuerza el programador de comandos. Igual que shutdownHard (verdadero).

apagado en vacío

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

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 se detuvo la invocación, falso de lo contrario

detenerInvocación

public boolean stopInvocation (int invocationId, 
                String cause)

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

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

cause String : la causa para detener la invocación.

Devoluciones
boolean verdadero si se detuvo la invocación, falso de lo 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 simular.

crearConfiguración

protected IConfiguration createConfiguration (String[] args)

Parámetros
args String

Devoluciones
IConfiguration

Lanza
ConfigurationException

crear contexto de invocación

protected IInvocationContext createInvocationContext ()

Devoluciones
IInvocationContext

comandoejecutivo

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

Parámetros
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

Devoluciones
long

Lanza
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

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

Devoluciones
IConfigurationFactory IConfigurationFactory para usar

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

Devoluciones
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

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

Devoluciones
IDeviceManager el IDeviceManager para usar

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Devoluciones
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Devoluciones
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Obtiene un IKeyStoreClient usando IKeyStoreFactory declarado en IGlobalConfiguration o nulo si no se define ninguno.

Devoluciones
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

Devoluciones
TestInvocationManagementServer

inicio de sesión

protected void initLogging ()

Inicializa el registro de ddmlib.

Expuesto para que las pruebas unitarias puedan simular.

esApagado

protected boolean isShutdown ()

Devoluciones
boolean

procesarReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parámetros
manager IDeviceManager