ICommandScheduler
public interface ICommandScheduler
com.android.tradefed.command.ICommandScheduler |
|
Um agendador para executar comandos TradeFederation.
Resumo
Classes aninhadas | |
---|---|
interface | ICommand Ouvinte para eventos de invocação quando a invocação for concluída. |
Métodos públicos | |
---|---|
abstract boolean | add Adiciona um comando ao agendador. |
abstract void | add addCommandFile (String cmdFile, extraArgs) Adiciona todos os comandos de determinado arquivo ao agendador |
abstract void | await () Aguarda que o agendador comece a ser executado, incluindo a espera pela conclusão da transferência do TF antigo, se aplicável. |
abstract void | complete Informa ao agendador de comando que uma sequência de handover iniciada está totalmente concluída e deve reinicializar seu gerenciador remoto na porta padrão. |
abstract void | displayCommandQueue (PrintWriter printWriter) Gere informações detalhadas de depuração sobre o estado da fila de execução de comandos. |
abstract void | displayCommandsInfo (PrintWriter printWriter, String regex) Produza uma lista de comandos atuais. |
abstract void | displayInvocationsInfo (PrintWriter printWriter) Exibe uma lista de invocações atuais. |
abstract void | dumpCommandsXml (PrintWriter printWriter, String regex) Despeja o arquivo xml expandido para o comando com todos os valores |
abstract void | execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos usando um |
abstract void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos. |
abstract void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args) Execute o comando diretamente no dispositivo já alocado. |
abstract CommandFileWatcher | getCommandFileWatcher () Obtenha o |
abstract int | getExecutingCommandCount () Retorna o número de comandos em estado de execução. |
abstract String | getInvocationInfo (int invocationId) Retorna as informações sobre uma invocação bu especificando o ID da invocação. |
abstract CommandRunner.ExitCode | getLastInvocationExitCode () Retorne o código de erro da última invocação executada. |
abstract Throwable | getLastInvocationThrowable () Retorne o |
abstract int | getReadyCommandCount () Retorna o número de comandos em estado pronto na fila. |
abstract void | handoverInitiationComplete () Informa ao agendador de comandos que a troca inicial de transferência de dispositivos e comandos em uso foi concluída e pode iniciar a operação de agendamento. |
abstract boolean | handoverShutdown (int handoverPort) Inicia um |
abstract void | join () Aguarda a conclusão do agendador. |
abstract void | join (long millis) Aguarda a conclusão do agendador ou atinge o tempo limite após a duração especificada em milissegundos. |
abstract void | removeAllCommands () Remova todos os comandos do agendador |
abstract void | setClearcutClient (ClearcutClient client) Configurar o cliente para relatar dados de arreios |
abstract boolean | shouldShutdownOnCmdfileError () Retorne verdadeiro se precisarmos desligar o agendador em caso de erros de comando |
abstract void | shutdown () Tente encerrar normalmente o agendador de comando. |
abstract void | shutdownHard (boolean killAdb) Tente desligar à força o agendador de comandos. |
abstract void | shutdownHard () Tente desligar à força o agendador de comandos. |
abstract void | shutdownOnEmpty () Semelhante a |
abstract void | start () Inicie o |
abstract boolean | stopInvocation (int invocationId, String cause) Pare uma invocação em execução especificando seu ID. |
default boolean | stopInvocation (int invocationId) Pare uma invocação em execução especificando seu ID. |
abstract boolean | stopInvocation ( ITestInvocation invocation) Pare uma chamada em execução. |
Métodos públicos
adicionarComando
public abstract boolean addCommand (String[] args)
Adiciona um comando ao agendador.
Um comando é essencialmente uma instância de uma configuração a ser executada e seus argumentos associados.
Se o argumento "--help" 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. |
Devoluções | |
---|---|
boolean | true se o comando foi adicionado com sucesso |
Lança | |
---|---|
ConfigurationException | se o comando não puder ser analisado |
adicionarCommandFile
public abstract void addCommandFile (String cmdFile,extraArgs)
Adiciona todos os comandos de determinado arquivo ao agendador
Parâmetros | |
---|---|
cmdFile | String : o caminho do sistema de arquivos do arquivo de comando |
extraArgs | ERROR(/List) de argumentos String a serem anexados a cada comando analisado do arquivo. Pode estar vazio, mas não deve ser nulo. |
Lança | |
---|---|
ConfigurationException | se o arquivo de comando não puder ser analisado |
Veja também:
aguardam
public abstract void await ()
Aguarda que o agendador comece a ser executado, incluindo a espera pela conclusão da transferência do TF antigo, se aplicável.
transferência completa
public abstract void completeHandover ()
Informa ao agendador de comando que uma sequência de handover iniciada está totalmente concluída e deve reinicializar seu gerenciador remoto na porta padrão.
displayCommandQueue
public abstract void displayCommandQueue (PrintWriter printWriter)
Gere informações detalhadas de depuração sobre o estado da fila de execução de comandos.
displayCommandsInfo
public abstract void displayCommandsInfo (PrintWriter printWriter, String regex)
Produza uma lista de comandos atuais.
Parâmetros | |
---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual a saída será gerada. |
regex | String : a expressão regular à qual os comandos devem corresponder para serem impressos. Se for nulo, todos os comandos serão impressos. |
displayInvocationsInfo
public abstract void displayInvocationsInfo (PrintWriter printWriter)
Exibe uma lista de invocações atuais.
Parâmetros | |
---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual a saída será gerada. |
dumpCommandsXml
public abstract void dumpCommandsXml (PrintWriter printWriter, String regex)
Despeja o arquivo xml expandido para o comando com todos os valores Option
especificados para todos os comandos atuais.
Parâmetros | |
---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual gerar o status. |
regex | String : a expressão regular com a qual os comandos devem corresponder para que o arquivo xml seja despejado. Se for nulo, todos os comandos serão descartados. |
execCommand
public abstract void 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 |
Lança | |
---|---|
ConfigurationException | se o comando fosse inválido |
NoDeviceException | se não houver nenhum dispositivo para usar |
execCommand
public abstract void 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 |
Lança | |
---|---|
ConfigurationException | se o comando fosse inválido |
NoDeviceException | se não houver nenhum dispositivo para usar |
execCommand
public abstract void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Execute o comando diretamente no dispositivo já alocado.
Parâmetros | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
device | ITestDevice : o ITestDevice a ser usado |
args | String : os argumentos do comando |
Lança | |
---|---|
ConfigurationException | se o comando fosse inválido |
getCommandFileWatcher
public abstract CommandFileWatcher getCommandFileWatcher ()
Obtenha o CommandFileWatcher
apropriado para este agendador
Devoluções | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public abstract int getExecutingCommandCount ()
Retorna o número de comandos em estado de execução.
Devoluções | |
---|---|
int |
getInvocationInfo
public abstract String getInvocationInfo (int invocationId)
Retorna as informações sobre uma invocação bu especificando o ID da invocação.
Parâmetros | |
---|---|
invocationId | int : o ID de rastreamento da invocação. |
Devoluções | |
---|---|
String | Uma String contendo informações sobre a invocação. |
getLastInvocationExitCode
public abstract CommandRunner.ExitCode getLastInvocationExitCode ()
Retorne o código de erro da última invocação executada. Retorna 0 (sem erro), se nenhuma invocação tiver sido executada ainda.
Devoluções | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public abstract Throwable getLastInvocationThrowable ()
Retorne o Throwable
da última invocação executada. Retorne nulo, se nenhum lançável estiver disponível.
Devoluções | |
---|---|
Throwable |
getReadyCommandCount
public abstract int getReadyCommandCount ()
Retorna o número de comandos em estado pronto na fila.
Devoluções | |
---|---|
int |
handoverInitiationComplete
public abstract void handoverInitiationComplete ()
Informa ao agendador de comandos que a troca inicial de transferência de dispositivos e comandos em uso foi concluída e pode iniciar a operação de agendamento.
transferênciaDesligamento
public abstract boolean handoverShutdown (int handoverPort)
Inicia um shutdown()
e entrega para outro processo tradefed neste mesmo host.
O agendador informará o processo de negociação remota que escuta naquela porta sobre os dispositivos liberados assim que estiverem disponíveis.
Parâmetros | |
---|---|
handoverPort | int |
Devoluções | |
---|---|
boolean | true se o início da transferência foi bem-sucedido; false caso contrário |
juntar
public abstract void join (long millis)
Aguarda a conclusão do agendador ou atinge o tempo limite após a duração especificada em milissegundos.
Parâmetros | |
---|---|
millis | long |
Veja também:
remover todos os comandos
public abstract void removeAllCommands ()
Remova todos os comandos do agendador
setClearcutClient
public abstract void setClearcutClient (ClearcutClient client)
Configurar o cliente para relatar dados de arreios
Parâmetros | |
---|---|
client | ClearcutClient |
deveriaShutdownOnCmdfileError
public abstract boolean shouldShutdownOnCmdfileError ()
Retorne verdadeiro se precisarmos desligar o agendador em caso de erros de comando
Devoluções | |
---|---|
boolean |
desligar
public abstract void shutdown ()
Tente encerrar normalmente o agendador de comandos.
Limpa comandos que aguardam testes e solicita que todas as invocações em andamento sejam encerradas normalmente.
Depois que o shutdown for chamado, o loop principal do agendador aguardará a conclusão de todas as invocações em andamento antes de sair completamente.
desligamentoHard
public abstract void shutdownHard (boolean killAdb)
Tente desligar à força o agendador de comandos.
Semelhante a shutdown()
, mas também interromperá opcionalmente a conexão adb, em uma tentativa de 'inspirar' as invocações em andamento para serem concluídas mais rapidamente.
Parâmetros | |
---|---|
killAdb | boolean |
desligamentoHard
public abstract void shutdownHard ()
Tente desligar à força o agendador de comandos. O mesmo que shutdownHard(verdadeiro).
shutdownOnEmpty
public abstract void shutdownOnEmpty ()
Semelhante a shutdown()
, mas em vez disso esperará que todos os comandos sejam executados antes de sair.
Observe que se algum comando estiver no modo loop, o agendador nunca será encerrado.
começar
public abstract void start ()
Inicie o ICommandScheduler
.
Deve ser chamado antes de chamar outros métodos.
Será executado até que shutdown()
seja chamado. veja Thread.start()
.
pararInvocação
public abstract boolean stopInvocation (int invocationId, String cause)
Pare uma invocação em execução especificando seu ID.
Parâmetros | |
---|---|
invocationId | int : o ID de rastreamento da invocação. |
cause | String : a causa para interromper a invocação. |
Devoluções | |
---|---|
boolean | verdadeiro se a invocação foi interrompida, falso caso contrário |
Lança | |
---|---|
UnsupportedOperationException | se a implementação não suportar isso |
pararInvocação
public boolean stopInvocation (int invocationId)
Pare uma invocação em execução especificando seu id.
Parâmetros | |
---|---|
invocationId | int |
Devoluções | |
---|---|
boolean | verdadeiro se a invocação foi interrompida, falso caso contrário |
Lança | |
---|---|
UnsupportedOperationException | se a implementação não suportar isso |
pararInvocação
public abstract boolean stopInvocation (ITestInvocation invocation)
Pare uma chamada em execução.
Parâmetros | |
---|---|
invocation | ITestInvocation |
Devoluções | |
---|---|
boolean | verdadeiro se a invocação foi interrompida, falso caso contrário |
Lança | |
---|---|
UnsupportedOperationException | se a implementação não suportar isso |