ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Um agendador para executar comandos TradeFederation.

Resumo

Classes aninhadas

interface ICommandScheduler.IScheduledInvocationListener

Ouvinte para eventos de invocação quando a invocação for concluída.

Métodos públicos

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

Adiciona um comando ao agendador.

abstract void addCommandFile (String cmdFile, extraArgs) 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 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 Option especificados para todos os comandos atuais.

abstract 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.

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

Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos.

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

Execute o comando diretamente em dispositivos já alocados.

abstract CommandFileWatcher getCommandFileWatcher ()

Obtenha o CommandFileWatcher apropriado para este agendador

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 Throwable da última invocação executada.

abstract int getReadyCommandCount ()

Retorna o número de comandos em estado pronto na fila.

abstract boolean isDeviceInInvocationThread ( ITestDevice device)

Retornará verdadeiro se o dispositivo for usado por um thread de invocação ativo.

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

default void shutdown ()

Tente encerrar normalmente o agendador de comando.

abstract void shutdown (boolean notifyStop)

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 shutdown() , mas em vez disso esperará que todos os comandos sejam executados antes de sair.

abstract void start ()

Inicie o ICommandScheduler .

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.

default void stopScheduling ()

Para de agendar e aceitar novos testes, mas não para o Tradefed.

Métodos públicos

adicionarComando

public abstract Pair<Boolean, Integer> 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
Pair <Boolean, Integer> Um par de valores, o primeiro valor é um booleano true se o comando foi adicionado com sucesso. O segundo valor é o ID do rastreador de comando conhecido (valor não negativo) se o comando foi adicionado com sucesso, retorne 0 quando o comando for adicionado para todos os dispositivos, caso contrário -1.

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 : um 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.

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

Devoluções
long

Lança
ConfigurationException se o comando fosse inválido
NoDeviceException se não houver nenhum dispositivo para usar

execCommand

public abstract 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

Devoluções
long O ID de invocação do comando agendado.

Lança
ConfigurationException se o comando fosse inválido
NoDeviceException se não houver nenhum dispositivo para usar

execCommand

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

Execute o comando diretamente em dispositivos já alocados.

Parâmetros
listener ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado

devices : o ERROR(/List ) ERROR(/List ) usar

args String : os argumentos do comando

Devoluções
long O ID de invocação do comando agendado.

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

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Retornará verdadeiro se o dispositivo for usado por um thread de invocação ativo.

Parâmetros
device ITestDevice

Devoluções
boolean

juntar

public abstract void join ()

Aguarda a conclusão do agendador.

Veja também:

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 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.

desligar

public abstract void shutdown (boolean notifyStop)

Tente encerrar normalmente o agendador de comandos.

Parâmetros
notifyStop boolean : se verdadeiro, notifica invocações de desligamento do TF.

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

parar Agendamento

public void stopScheduling ()

Para de agendar e aceitar novos testes, mas não para o Tradefed. O objetivo disso é permitir um desligamento em duas etapas, onde primeiro drenamos todos os testes em execução e, em seguida, encerramos o processo Tradefed.