ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Um programador para executar comandos da TradeFederation.

Resumo

Classes aninhadas

interface ICommandScheduler.IScheduledInvocationListener

Listener de eventos de invocação quando a invocação é concluída. 

Métodos públicos

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

Adiciona um comando ao programador.

abstract void addCommandFile(String cmdFile, extraArgs)

Adiciona todos os comandos do arquivo especificado ao agendador

abstract void await()

Aguarda a execução do programador, incluindo a espera pela conclusão da transferência da TF antiga, se aplicável.

abstract void displayCommandQueue(PrintWriter printWriter)

Mostra informações detalhadas de depuração sobre o estado da fila de execução de comandos.

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Gera uma lista dos comandos atuais.

abstract void displayInvocationsInfo(PrintWriter printWriter)

Mostra uma lista das 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 um dispositivo diretamente e executa um comando sem adicioná-lo à fila de comandos.

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

Executa o comando diretamente em um dispositivo já alocado.

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

Executa o comando diretamente em dispositivos já alocados.

abstract CommandFileWatcher getCommandFileWatcher()

Receber o CommandFileWatcher apropriado para esse programador

abstract int getExecutingCommandCount()

Retorna o número de comandos no estado de execução.

abstract String getInvocationInfo(int invocationId)

Retorna as informações de uma invocação ao especificar o ID da invocação.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

Retorne o código de erro da última invocação que foi executada.

abstract Throwable getLastInvocationThrowable()

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

Retorna verdadeiro se o dispositivo for usado por uma linha de execução de invocação ativa.

abstract void join()

Aguarda a conclusão do programador.

abstract void join(long millis)

Aguarda a conclusão do programador ou o tempo limite após a duração especificada em milissegundos.

abstract void removeAllCommands()

Remover todos os comandos do programador

abstract void setClearcutClient(ClearcutClient client)

Configurar o cliente para informar dados do harness

abstract boolean shouldShutdownOnCmdfileError()

Retorna verdadeiro se precisarmos encerrar o programador em um erro de comando

default void shutdown()

Tente encerrar o programador de comandos de forma suave.

abstract void shutdown(boolean notifyStop)

Tenta encerrar normalmente o programador de comando.

abstract void shutdownHard(boolean killAdb)

Tentativa de encerrar à força o programador de comando.

abstract void shutdownHard()

Tenta encerrar o programador de comandos à força.

abstract void shutdownOnEmpty()

Semelhante a shutdown(), mas aguarda a execução de todos os comandos antes de sair.

abstract void start()

Inicie o ICommandScheduler.

abstract boolean stopInvocation(int invocationId, String cause)

Para interromper uma invocação em execução, especifique o ID dela.

default boolean stopInvocation(int invocationId)

Para interromper uma invocação em execução, especifique o ID dela.

abstract boolean stopInvocation(ITestInvocation invocation)

Interrompa uma invocação em execução.

default void stopScheduling()

Interrompe a programação e a aceitação de novos testes, mas não interrompe o Tradefed.

Métodos públicos

addCommand

public abstract 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 os argumentos associados a ela.

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.

Retorna
Pair<Boolean, Integer> Um par de valores. O primeiro valor será um true booleano se o comando tiver sido adicionado com sucesso. O segundo valor é o ID do rastreador de comando conhecido(valor não negativo) se o comando foi adicionado. Retorne 0 quando o comando for adicionado para todos os dispositivos. Caso contrário, retorne -1.

Gera
ConfigurationException if command could not be parsed

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Adiciona todos os comandos do arquivo especificado ao agendador

Parâmetros
cmdFile String: o caminho do sistema de arquivos do arquivo de comando

extraArgs : um ERROR(/List) de argumentos String para anexar a cada comando analisado em arquivo. Pode estar vazio, mas não pode ser nulo.

Gera
ConfigurationException if command file could not be parsed

Confira também:

esperam

public abstract void await ()

Aguarda a execução do programador, incluindo a conclusão da transferência do TF antigo , se aplicável.

displayCommandQueue

public abstract 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 abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Mostra uma lista dos comandos atuais.

Parâmetros
printWriter PrintWriter: o ERROR(/PrintWriter) para saída.

regex String: a expressão regular a que os comandos precisam corresponder para serem impressos. Se for nulo, todos os comandos serão mostrados.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Mostra uma lista das invocações atuais.

Parâmetros
printWriter PrintWriter: o ERROR(/PrintWriter) para saída.

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 gerar o status.

regex String: a expressão regular com que os comandos precisam ser correspondidos para que o arquivo XML seja armazenado em um arquivo de despejo. 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

Retorna
long

Gera
ConfigurationException se o comando for inválido
NoDeviceException se não houver um dispositivo para usar

execCommand

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

Aloca um dispositivo diretamente 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 ID de invocação do comando programado.

Gera
ConfigurationException se o comando for inválido
NoDeviceException se não houver um dispositivo para usar

"execCommand"

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

Executa o comando diretamente em um 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.

Retorna
long O ID de invocação do comando programado.

Gera
ConfigurationException se o comando for inválido

"execCommand"

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

Executa o comando diretamente em dispositivos já alocados.

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

devices : o ERROR(/List) a ser usado

args String: os argumentos do comando

Retorna
long O ID de invocação do comando programado.

Gera
ConfigurationException se o comando for inválido.

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Receber o CommandFileWatcher apropriado para esse programador

Retorna
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Retorna o número de comandos no estado de execução.

Retorna
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Retorna as informações de uma invocação ao especificar o ID da invocação.

Parâmetros
invocationId int: o ID de rastreamento da invocação.

Retorna
String Um String que contém informações sobre a invocação.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Retorna o código de erro da última invocação executada. Retorna 0 (sem erro) se nenhuma invocação tiver sido executada.

Retorna
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Retorna o Throwable da última invocação executada. Retorna null, se nenhum throwable estiver disponível.

Retorna
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

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

Retorna
int

isDeviceInInvocationThread

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

join

public abstract void join ()

Aguarda a conclusão do programador.

Confira também:

join

public abstract void join (long millis)

Aguarda a conclusão do programador ou o tempo limite após a duração especificada em milissegundos.

Parâmetros
millis long

Confira também:

removeAllCommands

public abstract void removeAllCommands ()

Remover todos os comandos do programador

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Configurar o cliente para relatar os dados do arcabouço

Parâmetros
client ClearcutClient

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Retornar verdadeiro se for necessário encerrar o programador em um erro de comando

Retorna
boolean

encerramento

public void shutdown ()

Tenta encerrar normalmente o programador de comando.

Limpa comandos que estão aguardando para serem testados e solicita que todas as invocações em andamento sejam encerradas corretamente.

Depois que o encerramento é chamado, o loop principal do programador aguarda a conclusão de todas as invocações em andamento antes de sair completamente.

encerramento

public abstract void shutdown (boolean notifyStop)

Tente encerrar o programador de comandos de forma suave.

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

shutdownHard

public abstract void shutdownHard (boolean killAdb)

Tentativa de encerrar à força o programador de comando.

Semelhante a shutdown(), mas também encerra a conexão adb, em uma tentativa de "inspirar" as invocações em andamento para que sejam concluídas mais rapidamente.

Parâmetros
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Tenta encerrar o programador de comandos à força. O mesmo que shutdownHard(true).

stopdownOnEmpty

public abstract void shutdownOnEmpty ()

Semelhante a shutdown(), mas aguarda a execução de todos os comandos antes de sair.

Se algum comando estiver no modo de loop, o programador nunca será encerrado.

start

public abstract void start ()

Inicie o ICommandScheduler.

Precisa ser chamado antes de outros métodos.

Será executado até que shutdown() seja chamado. consulte Thread.start().

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Para interromper uma invocação em execução, especifique o ID dela.

Parâmetros
invocationId int: o ID de rastreamento da invocação.

cause String: a causa da interrupção da invocação.

Retorna
boolean Verdadeiro se a invocação foi interrompida. Caso contrário, é falso.

Gera
UnsupportedOperationException se a implementação não oferecer suporte

stopInvocation

public boolean stopInvocation (int invocationId)

Para interromper uma invocação em execução, especifique o ID dela.

Parâmetros
invocationId int

Retorna
boolean Verdadeiro se a invocação foi interrompida. Caso contrário, é falso.

Gera
UnsupportedOperationException se a implementação não oferecer suporte

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Interrompa uma invocação em execução.

Parâmetros
invocation ITestInvocation

Retorna
boolean Verdadeiro se a invocação foi interrompida. Caso contrário, é falso.

Gera
UnsupportedOperationException se a implementação não oferecer suporte a isso

stopScheduling

public void stopScheduling ()

Interrompe a programação e a aceitação de novos testes, mas não interrompe o Tradefed. Isso tem como objetivo permitir uma desativação em duas etapas, em que primeiro drenamos todos os testes em execução e, em seguida, encerramos o processo Tradefed.