Programación de comandos

public class CommandScheduler
extends Object implements ICommandScheduler

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


Un programador 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 su ejecución. tiempo. p.ej., los comandos de ejecución rápida o poco frecuente tendrán prioridad sobre los de ejecución larga.

Se ejecuta de forma permanente en segundo plano hasta el apagado.

Resumen

Constructores públicos

CommandScheduler()

Crea un CommandScheduler.

Métodos públicos

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

Agrega un comando al programador.

void addCommandFile(String cmdFilePath, extraArgs)

Agrega todos los comandos de un archivo determinado al programador.

void await()

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

static TradefedDelegator checkDelegation(String[] args)

Crea un delegado según la línea de comandos para ver si debemos delegar la ejecución.

static createReleaseMap(IInvocationContext context, Throwable e)

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

ISandbox createSandbox()

Crea un ISandbox que la invocación usará para ejecutarse.

void displayCommandQueue(PrintWriter printWriter)

Muestra información de depuración detallada 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)

Vuelca el archivo XML expandido del comando con todos Valores de Option especificados para todos los comandos actuales.

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

Ejecuta el comando directamente en dispositivos ya asignados.

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

Asigna un dispositivo directamente y ejecuta un comando sin agregarlo a la cola de comandos. con un IInvocationContext 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()

Obtener el CommandFileWatcher adecuado para este programador

int getExecutingCommandCount()

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

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

Muestra la información de un buzón de invocación en especificar el ID de invocación.

CommandRunner.ExitCode getLastInvocationExitCode()

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

Throwable getLastInvocationThrowable()

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

int getReadyCommandCount()

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

long getShutdownTimeout()
boolean isDeviceInInvocationThread(ITestDevice device)

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

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

Quitar todos los comandos del programador

void run()

Es el bloque de ejecución principal de este subproceso.

void setClearcutClient(ClearcutClient client)

Configura el cliente para que informe los datos del aprovechamiento

boolean shouldShutdownOnCmdfileError()

El resultado es verdadero si necesitamos cerrar el programador en un comando con errores.

void shutdown(boolean notifyStop)

Intenta cerrar correctamente el programador de comandos.

void shutdownHard(boolean killAdb)

Intenta cerrar el programador de comandos de manera forzosa.

void shutdownHard()

Intenta cerrar el programador de comandos de manera forzosa.

void shutdownOnEmpty()

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

void start()

Inicia el programador, incluye la configuración del registro, el inicio de DeviceManager, etcétera.

boolean stopInvocation(ITestInvocation invocation)

Detén una invocación en ejecución.

boolean stopInvocation(int invocationId, String cause)

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

void stopScheduling()

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

Métodos protegidos

void cleanUp()

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

IConfiguration createConfiguration(String[] args)
IInvocationContext createInvocationContext()
void dryRunCommandReporting(ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)

Determina si un comando dado es una prueba de validación.

long 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()

Recupera un IKeyStoreClient con el IKeyStoreFactory declarado en IGlobalConfiguration o un valor nulo si no se define ninguno.

TestInvocationManagementServer getTestInvocationManagementServer()
void initLogging()

Inicializa el registro de ddmlib.

boolean isShutdown()
void processReadyCommands(IDeviceManager manager)

Constructores públicos

Programación de comandos

public CommandScheduler ()

Crea un CommandScheduler.

Nota: Se debe llamar a start antes de usarlo.

Métodos públicos

Comando add

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

Si "--help" se especifica. El texto de ayuda para la configuración se mostrará en stdout. De lo contrario, la configuración se agregará a la cola para su ejecución.

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

Muestra
Pair<Boolean, Integer> Un par de valores; el primer valor es un valor booleano true si se agregó el comando. con éxito. El segundo valor es el ID conocido del rastreador de comandos(valor no negativo) si se agregó correctamente, devuelve 0 cuando se agregue el comando para todos los dispositivos; de lo contrario, −1.

Arroja
ConfigurationException

Archivo addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Agrega todos los comandos de un archivo determinado al programador.

Parámetros
cmdFilePath String: Es la ruta del sistema de archivos del archivo comando.

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

Arroja
ConfigurationException

espera

public void await ()

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

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

Crea un delegado según la línea de comandos para ver si debemos delegar la ejecución.

Parámetros
args String

Muestra
TradefedDelegator

Arroja
com.android.tradefed.config.ConfigurationException
ConfigurationException

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

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

Parámetros
context IInvocationContext

e Throwable

Muestra

createSandbox

public ISandbox createSandbox ()

Crea un ISandbox que la invocación usará para ejecutarse.

Muestra
ISandbox

Fila de comandos de display

public void displayCommandQueue (PrintWriter printWriter)

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

Información de comandos de display

public 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: La expresión regular con la que deben coincidir los comandos para que se detecte imprimirlo. Si es nulo, se imprimirán todos los comandos.

InfoInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Muestra una lista de invocaciones actuales.

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

Comandosdevol poderXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Vuelca el archivo XML expandido del comando con todos Valores de Option especificados para todos los comandos actuales.

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

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

execCommand

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

Ejecuta el comando directamente en dispositivos ya asignados.

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

reservedDevices : 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

execCommand

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

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

Parámetros
context IInvocationContext: Es un IInvocationContext existente.

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

args String: Los argumentos del comando

Muestra
long

Arroja
ConfigurationException
NoDeviceException

execCommand

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: Es el ICommandScheduler.IScheduledInvocationListener que se debe informar.

args String: Los argumentos del comando

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

Arroja
ConfigurationException
NoDeviceException

getCommandFileWatcher.

public CommandFileWatcher getCommandFileWatcher ()

Obtener el CommandFileWatcher adecuado para este programador

Muestra
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

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

Muestra
int

estado del host

public CommandScheduler.HostState getHostState ()

Muestra
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Muestra la información de un buzón de invocación en especificar el ID de invocación.

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 CommandRunner.ExitCode getLastInvocationExitCode ()

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

Muestra
CommandRunner.ExitCode

getLastInvocationThrowable

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

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

Muestra
int

getShutdownTimeout

public long getShutdownTimeout ()

Muestra
long

ThreadInvocacióndeDispositivos

public boolean isDeviceInInvocationThread (ITestDevice device)

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

Parámetros
device ITestDevice

Muestra
boolean

Apagando

public boolean isShuttingDown ()

Muestra
boolean

Notificación de archivo cambiado

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parámetros
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Quitar todos los comandos del programador

run

public void run ()

Es el bloque de ejecución principal de este subproceso.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Configura el cliente para que informe los datos del aprovechamiento

Parámetros
client ClearcutClient

Debe cerrarseOnCmdfileError.

public boolean shouldShutdownOnCmdfileError ()

El resultado es verdadero si necesitamos cerrar el programador en un comando con errores.

Muestra
boolean

apagado

public void shutdown (boolean notifyStop)

Intenta cerrar correctamente el programador de comandos.

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

apagarDuro

public void shutdownHard (boolean killAdb)

Intenta cerrar el programador de comandos de manera forzosa.

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

Parámetros
killAdb boolean

apagarDuro

public void shutdownHard ()

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

cierre_vacío

public void shutdownOnEmpty ()

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

Inicia el programador, incluye la configuración del registro, el inicio de DeviceManager, etcétera.

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

Detén una invocación en ejecución.

Parámetros
invocation ITestInvocation

Muestra
boolean true si se detiene la invocación; de lo contrario, false

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

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

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

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

Muestra
boolean true si se detiene la invocación; de lo contrario, false

detenerProgramación

public void stopScheduling ()

Deja de programar y acepta pruebas nuevas, pero no detiene a Tradefed. Esto permite un cierre en dos pasos, en el que primero vacíamos todas las pruebas en ejecución y, luego, finalizamos Tradefed el proceso de administración de recursos.

Métodos protegidos

Limpieza

protected void cleanUp ()

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

Está expuesto para que las pruebas de unidades puedan simular.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Parámetros
args String

Muestra
IConfiguration

Arroja
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

Muestra
IInvocationContext

secarRunCommandReporting

protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, 
                IConfiguration config)

Determina si un comando dado es una ejecución de prueba. Si el comando es una ejecución de prueba, valídalo. Si si hay problemas de configuración, se generará una ConfigurationException.

Parámetros
handler ICommandScheduler.IScheduledInvocationListener: Es ERROR(/InvocationEventHandler) para informar eventos de validación de prueba de validación.

config IConfiguration

Muestra
void true si los comandos son una ejecución de prueba; de lo contrario, false.

Arroja
com.android.tradefed.config.ConfigurationException
ConfigurationException

execCommand

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

Parámetros
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

Muestra
long

Arroja
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

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

Muestra
IConfigurationFactory el IConfigurationFactory para usar

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

Muestra
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

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

Muestra
IDeviceManager el IDeviceManager para usar

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Muestra
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Muestra
IHostOptions

getKeyStoreCliente

protected IKeyStoreClient getKeyStoreClient ()

Recupera un IKeyStoreClient con el IKeyStoreFactory declarado en IGlobalConfiguration o un valor nulo si no se define ninguno.

Muestra
IKeyStoreClient Cliente de tiendadeclaves

getTestInvocationManagementServer.

protected TestInvocationManagementServer getTestInvocationManagementServer ()

Muestra
TestInvocationManagementServer

initLogging

protected void initLogging ()

Inicializa el registro de ddmlib.

Está expuesto para que las pruebas de unidades puedan simular.

Apagado

protected boolean isShutdown ()

Muestra
boolean

Comandos processReady

protected void processReadyCommands (IDeviceManager manager)

Parámetros
manager IDeviceManager