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 |
Métodos públicos | |
---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
Agrega un comando al programador. |
void
|
addCommandFile(String cmdFilePath,
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 |
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 |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
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 |
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 |
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,
|
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 |
void
|
start()
Inicia el programador, incluye la configuración del registro, el inicio de |
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. |
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 staticcreateReleaseMap (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 |
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 |