ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Um programador para executar comandos do TradeFederation.

Resumo

Classes aninhadas

interface ICommandScheduler.IScheduledInvocationListener

Listener para 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 programador.

abstract void await()

Aguarde o início da execução do programador, incluindo a espera pela conclusão da transferência do TF antigo, se aplicável.

abstract void displayCommandQueue(PrintWriter printWriter)

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

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

Mostra uma lista dos comandos atuais.

abstract void displayInvocationsInfo(PrintWriter printWriter)

Mostra uma lista das invocações atuais.

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

Despeje 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, ITestDevice device, String[] args)

Executa o comando diretamente no dispositivo já alocado.

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

Executar comandos diretamente em dispositivos já alocados.

abstract CommandFileWatcher getCommandFileWatcher()

Receber o CommandFileWatcher adequado para este programador

abstract int getExecutingCommandCount()

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

abstract String getInvocationInfo(int invocationId)

Retorna as informações de uma invocação especificando o ID dela.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

Retorna 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 no estado pronto na fila.

abstract boolean isDeviceInInvocationThread(ITestDevice device)

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

abstract void join()

Aguarde a conclusão do programador.

abstract void join(long millis)

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

Definir o cliente para informar dados de harness

default void setMaxPollTime(long polling)
default void setPrintSchedulingWarning(boolean print)
abstract boolean shouldShutdownOnCmdfileError()

Retorna "true" se for necessário desligar o programador em caso de erros de comando.

default void shutdown()

Tente desligar o programador de comandos normalmente.

abstract void shutdown(boolean notifyStop)

Tente desligar o programador de comandos normalmente.

abstract void shutdownHard(boolean killAdb)

Tente encerrar o programador de comandos à força.

abstract void shutdownHard()

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

Interrompa uma invocação em execução especificando o ID dela.

default boolean stopInvocation(int invocationId)

Interrompa uma invocação em execução especificando o ID dela.

abstract boolean stopInvocation(ITestInvocation invocation)

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

default void stopScheduling()

Interrompe o agendamento 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 para execução e os 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.

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

Gera
ConfigurationException se não for possível analisar o comando

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

Adiciona todos os comandos do arquivo especificado ao programador.

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

extraArgs : uma ERROR(/List) de argumentos String a serem anexados a cada comando analisado do arquivo. Pode estar vazio, mas não pode ser nulo.

Gera
ConfigurationException se não for possível analisar o arquivo de comando

Confira também:

await

public abstract void await ()

Aguarde o início da execução do programador, incluindo a espera pela conclusão da transferência do TF antigo, se aplicável.

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

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

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)

Despeje 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 a que os comandos precisam corresponder para que o arquivo XML seja despejado. Se for nulo, todos os comandos serão despejados.

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 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 ID de invocação do comando agendado.

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

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

Gera
ConfigurationException se o comando for inválido

execCommand

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

Executar comandos 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 agendado.

Gera
ConfigurationException se o comando for inválido

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Receber o CommandFileWatcher adequado para este 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 especificando o ID dela.

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

Retorna
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

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

Retorna
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

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

Retorna
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

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

Aguarde a conclusão do programador.

Confira também:

join

public abstract void join (long millis)

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

Definir o cliente para informar dados de harness

Parâmetros
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

Parâmetros
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

Parâmetros
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Retorna "true" se for necessário desligar o programador em caso de erros de comando.

Retorna
boolean

desligamento

public void shutdown ()

Tente desligar o programador de comandos normalmente.

Limpa os comandos aguardando teste e solicita que todas as invocações em andamento sejam encerradas normalmente.

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

desligamento

public abstract void shutdown (boolean notifyStop)

Tente desligar o programador de comandos normalmente.

Parâmetros
notifyStop boolean: se for "true", notifica as invocações do desligamento do TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

Tente encerrar o programador de comandos à força.

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

Parâmetros
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Tente encerrar o programador de comandos à força. Igual a shutdownHard(true).

shutdownOnEmpty

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

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)

Interrompa uma invocação em execução especificando 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 true se a invocação foi interrompida, false caso contrário

Gera
UnsupportedOperationException se a implementação não for compatível com isso

stopInvocation

public boolean stopInvocation (int invocationId)

Interrompa uma invocação em execução especificando o ID dela.

Parâmetros
invocationId int

Retorna
boolean true se a invocação foi interrompida, false caso contrário

Gera
UnsupportedOperationException se a implementação não for compatível com isso

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

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

Parâmetros
invocation ITestInvocation

Retorna
boolean true se a invocação foi interrompida, false caso contrário

Gera
UnsupportedOperationException se a implementação não for compatível com isso

stopScheduling

public void stopScheduling ()

Interrompe o agendamento e a aceitação de novos testes, mas não interrompe o Tradefed. Isso permite um desligamento em duas etapas em que primeiro esgotamos todos os testes em execução e depois encerramos o processo do Tradefed.