CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
Um programador para executar comandos do TradeFederation em todos os dispositivos disponíveis.
Tentará priorizar os comandos a serem executados com base em uma contagem total da sua execução tempo de resposta. Por exemplo: Comandos infrequentes ou de execução rápida serão priorizados em relação aos comandos de longa duração.
É executado indefinidamente em segundo plano até a desativação.
Resumo
Construtores públicos | |
---|---|
CommandScheduler()
Cria um |
Métodos públicos | |
---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
Adiciona um comando ao programador. |
void
|
addCommandFile(String cmdFilePath,
Adiciona todos os comandos de um arquivo fornecido ao programador |
void
|
await()
Aguarda a execução do programador, inclusive a conclusão da transferência do TF antigo se aplicável. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Crie um delegador com base na linha de comando para ver se precisamos delegar a execução. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Crie um mapa do estado dos dispositivos para liberá-los adequadamente. |
ISandbox
|
createSandbox()
Crie um |
void
|
displayCommandQueue(PrintWriter printWriter)
Informações de depuração detalhadas de saída sobre o estado da fila de execução de comandos. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Gera uma lista dos comandos atuais. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Exibe uma lista de invocações atuais. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Despeje o arquivo XML expandido para o comando com todas as
Valores |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
Executar o comando diretamente em dispositivos já alocados. |
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos
usando um |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos. |
CommandFileWatcher
|
getCommandFileWatcher()
Conseguir o CommandFileWatcher apropriado para este agendador |
int
|
getExecutingCommandCount()
Retorna o número de comandos no estado de execução. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Retorne as informações em uma bu de invocação especificando o ID dela. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Retorne o código de erro da última invocação que foi executada. |
Throwable
|
getLastInvocationThrowable()
Retorne o |
int
|
getReadyCommandCount()
Retorna o número de comandos em estado pronto na fila. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
Retorna verdadeiro se o dispositivo for usado por uma linha de execução de invocação ativa. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Remover todos os comandos do programador |
void
|
run()
O principal bloco de execução dessa linha de execução. |
void
|
setClearcutClient(ClearcutClient client)
Configurar o cliente para relatar os dados do arcabouço |
boolean
|
shouldShutdownOnCmdfileError()
Retornar verdadeiro se for necessário encerrar o programador em um erro de comando |
void
|
shutdown(boolean notifyStop)
Tenta encerrar normalmente o programador de comando. |
void
|
shutdownHard(boolean killAdb)
Tentativa de encerrar à força o programador de comando. |
void
|
shutdownHard()
Tentativa de encerrar à força o programador de comando. |
void
|
shutdownOnEmpty()
Semelhante a |
void
|
start()
Inicia o programador, incluindo a configuração da geração de registros, o init do |
boolean
|
stopInvocation(ITestInvocation invocation)
Interrompe uma invocação em execução. |
boolean
|
stopInvocation(int invocationId, String cause)
Especifique o ID de uma invocação em execução para interrompê-la. |
void
|
stopScheduling()
Para de programar e aceitar novos testes, mas não para o Tradefed. |
Construtores públicos
CommandScheduler
public CommandScheduler ()
Cria um CommandScheduler
.
Observação: start precisa ser chamado antes do uso.
Métodos públicos
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
Adiciona um comando ao programador.
Um comando é essencialmente uma instância de uma configuração a ser executada e a respectiva .
Se "--ajuda" for especificado, o texto de ajuda da configuração será enviado para stdout. Caso contrário, a configuração será adicionada à fila para execução.
Parâmetros | |
---|---|
args |
String : os argumentos de configuração. |
Retorna | |
---|---|
Pair<Boolean, Integer> |
Um par de valores. O primeiro valor será um booleano true se o comando tiver sido adicionado.
com sucesso. O segundo valor é o ID do rastreador de comandos conhecido(valor não negativo) se o
O comando foi adicionado, retorne 0 quando o comando for adicionado para todos os dispositivos. Caso contrário,
-1 |
Gera | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Adiciona todos os comandos de um arquivo fornecido ao programador
Parâmetros | |
---|---|
cmdFilePath |
String : o caminho do sistema de arquivos do arquivo de comando |
extraArgs |
: um ERROR(/List) de String argumentos para anexar a cada comando analisado.
do arquivo. Pode estar vazio, mas não deve ser nulo. |
Gera | |
---|---|
ConfigurationException |
esperam
public void await ()
Aguarda a execução do programador, inclusive a conclusão da transferência do TF antigo se aplicável.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Crie um delegador com base na linha de comando para ver se precisamos delegar a execução.
Parâmetros | |
---|---|
args |
String |
Retorna | |
---|---|
TradefedDelegator |
Gera | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Crie um mapa do estado dos dispositivos para liberá-los adequadamente.
Parâmetros | |
---|---|
context |
IInvocationContext |
e |
Throwable |
Retorna | |
---|---|
|
criar sandbox
public ISandbox createSandbox ()
Crie um ISandbox
que será executado pela invocação.
Retorna | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Informações de depuração detalhadas de saída sobre o estado da fila de execução de comandos.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Gera uma lista dos comandos atuais.
Parâmetros | |
---|---|
printWriter |
PrintWriter : o ERROR(/PrintWriter) de saída. |
regex |
String : a expressão regular que corresponde aos comandos para serem
impresso. Se for nulo, todos os comandos serão mostrados. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Exibe uma lista de invocações atuais.
Parâmetros | |
---|---|
printWriter |
PrintWriter : o ERROR(/PrintWriter) de saída. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Despeja o arquivo XML expandido para o comando com todas
Valores Option
especificados para todos os comandos atuais.
Parâmetros | |
---|---|
printWriter |
PrintWriter : o ERROR(/PrintWriter) que vai receber o status. |
regex |
String : a expressão regular a que os comandos precisam ser correspondentes para que o
XML a ser despejado. Se for nulo, todos os comandos serão despejados. |
"execCommand"
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Executar o comando diretamente em dispositivos já alocados.
Parâmetros | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
reservedDevices |
: o ERROR(/List a ser usado. |
args |
String : os argumentos do comando. |
Retorna | |
---|---|
long |
O código de invocação do comando programado. |
Gera | |
---|---|
ConfigurationException |
"execCommand"
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos
usando um IInvocationContext
já existente.
Parâmetros | |
---|---|
context |
IInvocationContext : um IInvocationContext existente. |
listener |
ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
args |
String : os argumentos do comando. |
Retorna | |
---|---|
long |
Gera | |
---|---|
ConfigurationException |
|
NoDeviceException |
"execCommand"
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos.
Parâmetros | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
args |
String : os argumentos do comando. |
Retorna | |
---|---|
long |
O código de invocação do comando programado. |
Gera | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Conseguir o CommandFileWatcher apropriado para este agendador
Retorna | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Retorna o número de comandos no estado de execução.
Retorna | |
---|---|
int |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Retorne as informações em uma bu de invocação especificando o ID dela.
Parâmetros | |
---|---|
invocationId |
int : o ID de acompanhamento da invocação. |
Retorna | |
---|---|
String |
Um String contendo informações sobre a invocação. |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Retorne o código de erro da última invocação que foi executada. Retorne 0 (sem erro) se nenhuma invocação tiver sido executada ainda.
Retorna | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Retorne o Throwable
da última invocação que foi executada.
Retorna nulo, se nenhum throwable estiver disponível.
Retorna | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Retorna o número de comandos em estado pronto na fila.
Retorna | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
Retorna | |
---|---|
long |
isDeviceInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Retorna verdadeiro se o dispositivo for usado por uma linha de execução de invocação ativa.
Parâmetros | |
---|---|
device |
ITestDevice |
Retorna | |
---|---|
boolean |
isShuttingDown
public boolean isShuttingDown ()
Retorna | |
---|---|
boolean |
notificarFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Parâmetros | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Remover todos os comandos do programador
run
public void run ()
O principal bloco de execução dessa linha de execução.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Configurar o cliente para relatar os dados do arcabouço
Parâmetros | |
---|---|
client |
ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Retornar verdadeiro se for necessário encerrar o programador em um erro de comando
Retorna | |
---|---|
boolean |
encerramento
public void shutdown (boolean notifyStop)
Tenta encerrar normalmente o programador de comando.
Parâmetros | |
---|---|
notifyStop |
boolean : se verdadeiro, notifica as invocações de encerramento do TF. |
desligamentoHard
public void shutdownHard (boolean killAdb)
Tentativa de encerrar à força o programador de comando.
Semelhante a shutdown()
, mas também opcionalmente elimina a conexão adb, em uma
tentar "inspirar" invocações em andamento para que sejam concluídas mais rapidamente.
Parâmetros | |
---|---|
killAdb |
boolean |
desligamentoHard
public void shutdownHard ()
Tentativa de encerrar à força o programador de comando. O mesmo que closeddownHard(true).
stopdownOnEmpty
public void shutdownOnEmpty ()
Semelhante a shutdown()
, mas aguardará todos os comandos serem executados
antes de sair.
Se algum comando estiver em modo de loop, o programador nunca será encerrado.
start
public void start ()
Inicia o programador, incluindo a configuração da geração de registros, o init do DeviceManager
etc.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Interrompe uma invocação em execução.
Parâmetros | |
---|---|
invocation |
ITestInvocation |
Retorna | |
---|---|
boolean |
verdadeiro se a invocação tiver sido interrompida, falso caso contrário |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
Especifique o ID de uma invocação em execução para interrompê-la.
Parâmetros | |
---|---|
invocationId |
int : o ID de acompanhamento da invocação. |
cause |
String : a causa da interrupção da invocação. |
Retorna | |
---|---|
boolean |
verdadeiro se a invocação tiver sido interrompida, falso caso contrário |
parar de programar
public void stopScheduling ()
Para de programar e aceitar novos testes, mas não para o Tradefed. Isso serve para ativar um encerramento de duas etapas em que primeiro drenamos todos os testes em execução e depois encerramos o Tradefed de desenvolvimento de software.
Métodos protegidos
limpeza
protected void cleanUp ()
Fecha os registros e faz qualquer outra limpeza necessária antes de sair.
Exposto para que os testes de unidade possam simular.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Parâmetros | |
---|---|
args |
String |
Retorna | |
---|---|
IConfiguration |
Gera | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
Retorna | |
---|---|
IInvocationContext |
dryRunCommandReporting
protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)
Determina se um comando específico é uma simulação. Se o comando for uma simulação, valide-o. Se se houver algum problema de configuração, ele vai gerar uma ConfigurationException.
Parâmetros | |
---|---|
handler |
ICommandScheduler.IScheduledInvocationListener : ERROR(/InvocationEventHandler) para relatar eventos para uma validação de simulação. |
config |
IConfiguration |
Retorna | |
---|---|
void |
verdadeiro se o comando for uma simulação. Caso contrário, falso. |
Gera | |
---|---|
|
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 |
Retorna | |
---|---|
long |
Gera | |
---|---|
ConfigurationException |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Método de fábrica para acessar uma referência ao IConfigurationFactory
Retorna | |
---|---|
IConfigurationFactory |
o IConfigurationFactory para usar |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
Retorna | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
Método de fábrica para acessar uma referência ao IDeviceManager
Retorna | |
---|---|
IDeviceManager |
o IDeviceManager para usar |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Busca um IKeyStoreClient
usando a IKeyStoreFactory
declarada em IGlobalConfiguration
ou nula se nenhuma estiver definida.
Retorna | |
---|---|
IKeyStoreClient |
ClienteIKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
Retorna | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
Inicializa o registro ddmlib.
Exposto para que os testes de unidade possam simular.
IsShutdown
protected boolean isShutdown ()
Retorna | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parâmetros | |
---|---|
manager |
IDeviceManager |