O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
com.android.tradefed.command.CommandScheduler


Um agendador para executar comandos TradeFederation em todos os dispositivos disponíveis.

Tentará priorizar comandos a serem executados com base em uma contagem total de execução de seu tempo de execução. por exemplo, comandos de execução rápida ou pouco frequentes serão priorizados em relação a comandos de execução longa.

Funciona para sempre em segundo plano até o desligamento.

Resumo

Construtores públicos

CommandScheduler ()

Cria um CommandScheduler .

Métodos públicos

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

Adiciona um comando ao agendador.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

Adiciona todos os comandos de determinado arquivo ao agendador

void await ()

Aguarda o início da execução do agendador, incluindo 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 que eles possam ser liberados adequadamente.

ISandbox createSandbox ()

Crie um ISandbox que a chamada usará para executar.

void displayCommandQueue (PrintWriter printWriter)

Saída de informações de depuração detalhadas sobre o estado da fila de execução do comando.

void displayCommandsInfo (PrintWriter printWriter, String regex)

Saída de uma lista de 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 todos os valores Option especificados para todos os comandos atuais.

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

Execute o comando diretamente em dispositivos já alocados.

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

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

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

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

CommandFileWatcher getCommandFileWatcher ()

Obtenha o CommandFileWatcher apropriado para este agendador

int getExecutingCommandCount ()

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

CommandScheduler.HostState getHostState ()
String getInvocationInfo (int invocationId)

Retorna as informações sobre uma invocação especificando o ID da invocação.

CommandRunner.ExitCode getLastInvocationExitCode ()

Retorna o código de erro da última chamada executada.

Throwable getLastInvocationThrowable ()

Retorna o ERROR(/Throwable) da última chamada executada.

int getReadyCommandCount ()

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

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

Retorna true se o dispositivo for usado por um thread de invocação ativo.

boolean isShuttingDown ()
void notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

Remova todos os comandos do agendador

void run ()

O bloco de execução principal deste thread.

void setClearcutClient (ClearcutClient client)

Defina o cliente para relatar dados de chicote

boolean shouldShutdownOnCmdfileError ()

Retorne verdadeiro se precisarmos desligar o agendador em um erro de comando

void shutdown (boolean notifyStop)

Tente desligar normalmente o agendador de comandos.

void shutdownHard (boolean killAdb)

Tente encerrar à força o agendador de comandos.

void shutdownHard ()

Tente encerrar à força o agendador de comandos.

void shutdownOnEmpty ()

Semelhante a shutdown() , mas, em vez disso, aguardará que todos os comandos sejam executados antes de sair.

void start ()

Inicia o agendador, incluindo a configuração do registro, inicialização do DeviceManager , etc.

boolean stopInvocation ( ITestInvocation invocation)

Interrompa uma chamada em execução.

boolean stopInvocation (int invocationId, String cause)

Interrompa uma chamada em execução especificando seu id.

Métodos protegidos

void cleanUp ()

Fecha os logs e faz qualquer outra limpeza necessária antes de sairmos.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory ()

Método de fábrica para obter uma referência ao IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

Método de fábrica para obter uma referência ao IDeviceManager

TradefedFeatureServer getFeatureServer ()
IHostOptions getHostOptions ()
IKeyStoreClient getKeyStoreClient ()

Busca um IKeyStoreClient usando o IKeyStoreFactory declarado em IGlobalConfiguration ou nulo se nenhum estiver definido.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Inicializa o log ddmlib.

boolean isShutdown ()
void processReadyCommands ( IDeviceManager manager)

Construtores públicos

CommandScheduler

public CommandScheduler ()

Cria um CommandScheduler .

Nota: start deve ser chamado antes do uso.

Métodos públicos

addCommand

public 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 para a 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.

lances
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Adiciona todos os comandos de determinado arquivo ao agendador

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

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

lances
ConfigurationException

aguardam

public void await ()

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

checkDelegação

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

devoluções
TradefedDelegator

lances
com.android.tradefed.config.ConfigurationException
ConfigurationException

criarReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Crie um mapa do estado dos dispositivos para que eles possam ser liberados adequadamente.

Parâmetros
context IInvocationContext

e Throwable

devoluções

criarSandbox

public ISandbox createSandbox ()

Crie um ISandbox que a chamada usará para executar.

devoluções
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Saída de informações de depuração detalhadas sobre o estado da fila de execução do comando.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Saída de uma lista de comandos atuais.

Parâmetros
printWriter PrintWriter : o ERROR(/PrintWriter) para o qual enviar.

regex String : a expressão regular com a qual os comandos devem corresponder para serem impressos. Se nulo, todos os comandos serão impressos.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Exibe uma lista de invocações atuais.

Parâmetros
printWriter PrintWriter : o ERROR(/PrintWriter) para o qual enviar.

dumpCommandsXml

public 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 o qual enviar o status.

regex String : a expressão regular com a qual os comandos devem corresponder para que o arquivo xml seja despejado. Se nulo, todos os comandos serão despejados.

comandoexec

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

Execute o comando diretamente em dispositivos já alocados.

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

reservedDevices : o ERROR(/List ) ERROR(/List ) para usar

args String : os argumentos do comando

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

lances
ConfigurationException

comandoexec

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

Aloca um dispositivo diretamente 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

lances
ConfigurationException
NoDeviceException

comandoexec

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

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

lances
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Obtenha o CommandFileWatcher apropriado para este agendador

devoluções
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

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

devoluções
int

getHostState

public CommandScheduler.HostState getHostState ()

devoluções
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Retorna as informações sobre uma invocação especificando o ID da invocação.

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

devoluções
String Um ERROR(/String) contendo informações sobre a invocação.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Retorna o código de erro da última chamada executada. Retorne 0 (sem erro), se nenhuma chamada foi executada ainda.

devoluções
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Retorna o ERROR(/Throwable) da última chamada executada. Retorne null, se nenhum throwable estiver disponível.

devoluções
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

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

devoluções
int

getShutdownTimeout

public long getShutdownTimeout ()

devoluções
long

isDeviceInInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

Retorna true se o dispositivo for usado por um thread de invocação ativo.

Parâmetros
device ITestDevice

devoluções
boolean

está desligando

public boolean isShuttingDown ()

devoluções
boolean

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parâmetros
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Remova todos os comandos do agendador

correr

public void run ()

O bloco de execução principal deste thread.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Defina o cliente para relatar dados de chicote

Parâmetros
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Retorne verdadeiro se precisarmos desligar o agendador em um erro de comando

devoluções
boolean

desligar

public void shutdown (boolean notifyStop)

Tente desligar normalmente o agendador de comandos.

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

desligamentoDifícil

public void shutdownHard (boolean killAdb)

Tente encerrar à força o agendador de comandos.

Semelhante a shutdown() , mas também matará 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

desligamentoDifícil

public void shutdownHard ()

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

shutdownOnEmpty

public void shutdownOnEmpty ()

Semelhante a shutdown() , mas, em vez disso, aguardará 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 void start ()

Inicia o agendador, incluindo a configuração do registro, inicialização do DeviceManager , etc.

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

Interrompa uma chamada em execução.

Parâmetros
invocation ITestInvocation

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

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

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

Métodos protegidos

limpar

protected void cleanUp ()

Fecha os logs e faz qualquer outra limpeza necessária antes de sairmos.

Exposto para que os testes de unidade possam simular.

criarConfiguração

protected IConfiguration createConfiguration (String[] args)

Parâmetros
args String

devoluções
IConfiguration

lances
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

devoluções
IInvocationContext

comandoexec

protected long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

Parâmetros
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

devoluções
long

lances
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Método de fábrica para obter uma referência ao IConfigurationFactory

devoluções
IConfigurationFactory a IConfigurationFactory a ser usada

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

devoluções
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

Método de fábrica para obter uma referência ao IDeviceManager

devoluções
IDeviceManager o IDeviceManager a ser usado

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

devoluções
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

devoluções
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Busca um IKeyStoreClient usando o IKeyStoreFactory declarado em IGlobalConfiguration ou nulo se nenhum estiver definido.

devoluções
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

devoluções
TestInvocationManagementServer

initLogging

protected void initLogging ()

Inicializa o log ddmlib.

Exposto para que os testes de unidade possam simular.

isShutdown

protected boolean isShutdown ()

devoluções
boolean

ProcessReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parâmetros
manager IDeviceManager