ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Планировщик для выполнения команд TradeFederation.

Краткое содержание

Вложенные классы

interface ICommandScheduler.IScheduledInvocationListener

Слушатель событий вызова, отслеживающий завершение вызова.

Общедоступные методы

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

Добавляет команду в планировщик задач.

abstract void addCommandFile (String cmdFile, List<String> extraArgs)

Добавляет все команды из указанного файла в планировщик задач.

abstract void await ()

Ожидает запуска планировщика, включая ожидание завершения передачи управления от старого TF, если это применимо.

abstract void displayCommandQueue (PrintWriter printWriter)

Вывод подробной отладочной информации о состоянии очереди выполнения команд.

abstract void displayCommandsInfo (PrintWriter printWriter, String regex)

Вывести список текущих команд.

abstract void displayInvocationsInfo (PrintWriter printWriter)

Отображает список текущих вызовов.

abstract void dumpCommandsXml (PrintWriter printWriter, String regex)

Выгрузить расширенный XML-файл команды со всеми значениями Option , указанными для всех текущих команд.

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

Непосредственно выделяет устройство и выполняет команду, не добавляя её в очередь команд, используя уже существующий IInvocationContext .

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

Непосредственно выделяет устройство и выполняет команду, не добавляя её в очередь команд.

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

Выполнить команду непосредственно на уже выделенном устройстве.

abstract long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, List< ITestDevice > devices, String[] args)

Выполнить команду непосредственно на уже выделенных устройствах.

abstract CommandFileWatcher getCommandFileWatcher ()

Получите соответствующий CommandFileWatcher для этого планировщика.

abstract int getExecutingCommandCount ()

Возвращает количество команд, находящихся в состоянии выполнения.

abstract String getInvocationInfo (int invocationId)

Возвращает информацию о вызове, указывая идентификатор вызова.

abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Возвращает код ошибки последнего выполненного вызова.

abstract Throwable getLastInvocationThrowable ()

Верните Throwable из последнего выполненного вызова.

abstract int getReadyCommandCount ()

Возвращает количество команд в очереди, находящихся в состоянии готовности.

abstract boolean isDeviceInInvocationThread ( ITestDevice device)

Возвращает true, если устройство используется активным потоком вызова.

abstract void join ()

Ожидает завершения работы планировщика.

abstract void join (long millis)

Ожидает завершения работы планировщика или истечения тайм-аута по истечении указанного в миллисекундах времени.

abstract void removeAllCommands ()

Удалить все команды из планировщика.

abstract void setClearcutClient (ClearcutClient client)

Настройте клиент на отправку данных с жгута проводов.

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

Возвращать true, если необходимо остановить планировщик при возникновении ошибки команды.

default void shutdown ()

Попытайтесь корректно завершить работу планировщика команд.

abstract void shutdown (boolean notifyStop)

Попытайтесь корректно завершить работу планировщика команд.

abstract void shutdownHard (boolean killAdb)

Попробуйте принудительно завершить работу планировщика команд.

abstract void shutdownHard ()

Попробуйте принудительно завершить работу планировщика команд.

abstract void shutdownOnEmpty ()

Аналогично функции shutdown() , но вместо этого будет ждать выполнения всех команд, прежде чем завершить работу.

abstract void start ()

Запустите ICommandScheduler .

abstract boolean stopInvocation (int invocationId, String cause)

Остановить выполняющийся вызов, указав его идентификатор.

default boolean stopInvocation (int invocationId)

Остановить выполняющийся вызов, указав его идентификатор.

abstract boolean stopInvocation ( ITestInvocation invocation)

Остановить выполняющуюся операцию.

default void stopScheduling ()

Прекращает планирование и прием новых тестов, но не останавливает работу Tradefed.

Общедоступные методы

addCommand

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

Добавляет команду в планировщик задач.

Команда по сути представляет собой экземпляр конфигурации для выполнения и связанные с ней аргументы.

Если указан аргумент "--help", текст справки по конфигурации будет выведен в стандартный поток вывода. В противном случае конфигурация будет добавлена ​​в очередь на выполнение.

Параметры
args String : аргументы конфигурации.

Возвраты
Pair <Boolean, Integer> Пара значений: первое значение — логическое значение true если команда была успешно добавлена; второе значение — известный идентификатор трекера команды (неотрицательное значение), если команда была успешно добавлена; возвращает 0, если команда добавлена ​​для всех устройств, в противном случае -1.

Броски
ConfigurationException если команду не удалось обработать

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                List<String> extraArgs)

Добавляет все команды из указанного файла в планировщик задач.

Параметры
cmdFile String : путь к файлу команды в файловой системе

extraArgs List : List String аргументов, добавляемых к каждой команде, полученной из файла. Может быть пустым, но не должен быть null.

Броски
ConfigurationException если файл команд не удалось разобрать

См. также:

ждать

public abstract void await ()

Ожидает запуска планировщика, включая ожидание завершения передачи управления от старого TF, если это применимо.

Броски
InterruptedException

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

Вывод подробной отладочной информации о состоянии очереди выполнения команд.

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Вывести список текущих команд.

Параметры
printWriter PrintWriter : объект PrintWriter , на который будет производиться вывод.

regex String : регулярное выражение, которому должны соответствовать команды для вывода на экран. Если значение равно null, будут выведены все команды.

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Отображает список текущих вызовов.

Параметры
printWriter PrintWriter : объект PrintWriter , на который будет производиться вывод.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Выгрузить расширенный XML-файл команды со всеми значениями Option , указанными для всех текущих команд.

Параметры
printWriter PrintWriter : объект PrintWriter , на который будет выводиться статус.

regex String : регулярное выражение, которому должны соответствовать команды для выгрузки XML-файла. Если значение равно null, будут выгружены все команды.

execCommand

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

Непосредственно выделяет устройство и выполняет команду, не добавляя её в очередь команд, используя уже существующий IInvocationContext .

Параметры
context IInvocationContext : существующий IInvocationContext .

listener ICommandScheduler.IScheduledInvocationListener : объект ICommandScheduler.IScheduledInvocationListener , который необходимо уведомить.

args String : аргументы команды

Возвраты
long

Броски
ConfigurationException если команда была недействительной
NoDeviceException если нет устройства для использования

execCommand

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

Непосредственно выделяет устройство и выполняет команду, не добавляя её в очередь команд.

Параметры
listener ICommandScheduler.IScheduledInvocationListener : объект ICommandScheduler.IScheduledInvocationListener , который необходимо уведомить.

args String : аргументы команды

Возвраты
long Идентификатор вызова запланированной команды.

Броски
ConfigurationException если команда была недействительной
NoDeviceException если нет устройства для использования

execCommand

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

Выполнить команду непосредственно на уже выделенном устройстве.

Параметры
listener ICommandScheduler.IScheduledInvocationListener : объект ICommandScheduler.IScheduledInvocationListener , который необходимо уведомить.

device ITestDevice : устройство ITestDevice для использования

args String : аргументы команды

Возвраты
long Идентификатор вызова запланированной команды.

Броски
ConfigurationException если команда была недействительной

execCommand

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

Выполнить команду непосредственно на уже выделенных устройствах.

Параметры
listener ICommandScheduler.IScheduledInvocationListener : объект ICommandScheduler.IScheduledInvocationListener , который необходимо уведомить.

devices List : ERROR(/List ) использовать

args String : аргументы команды

Возвраты
long Идентификатор вызова запланированной команды.

Броски
ConfigurationException если команда была недействительной

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

Получите соответствующий CommandFileWatcher для этого планировщика.

Возвраты
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

Возвращает количество команд, находящихся в состоянии выполнения.

Возвраты
int

получитьИнформациюВызова

public abstract String getInvocationInfo (int invocationId)

Возвращает информацию о вызове, указывая идентификатор вызова.

Параметры
invocationId int : идентификатор отслеживания вызова.

Возвраты
String String , содержащая информацию о вызове.

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

Возвращает код ошибки последнего выполненного вызова. Возвращает 0 (нет ошибки), если вызовы еще не выполнялись.

Возвраты
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

Возвращает объект Throwable из последнего выполненного вызова. Возвращает null, если объект Throwable недоступен.

Возвраты
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

Возвращает количество команд в очереди, находящихся в состоянии готовности.

Возвраты
int

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Возвращает true, если устройство используется активным потоком вызова.

Параметры
device ITestDevice

Возвраты
boolean

присоединиться

public abstract void join ()

Ожидает завершения работы планировщика.

Броски
InterruptedException

См. также:

присоединиться

public abstract void join (long millis)

Ожидает завершения работы планировщика или истечения тайм-аута по истечении указанного в миллисекундах времени.

Параметры
millis long

Броски
InterruptedException

См. также:

removeAllCommands

public abstract void removeAllCommands ()

Удалить все команды из планировщика.

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Настройте клиент на отправку данных с жгута проводов.

Параметры
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

Параметры
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

Параметры
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Возвращать true, если необходимо остановить планировщик при возникновении ошибки команды.

Возвраты
boolean

неисправность

public void shutdown ()

Попытайтесь корректно завершить работу планировщика команд.

Очищает список команд, ожидающих проверки, и запрашивает корректное завершение всех выполняющихся вызовов.

После вызова функции завершения работы основной цикл планировщика будет ждать завершения всех выполняющихся в данный момент процессов, прежде чем полностью завершить свою работу.

неисправность

public abstract void shutdown (boolean notifyStop)

Попытайтесь корректно завершить работу планировщика команд.

Параметры
notifyStop boolean : если true, уведомляет о завершении работы TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

Попробуйте принудительно завершить работу планировщика команд.

Аналогично функции shutdown() , но также может дополнительно разорвать соединение с adb, пытаясь «стимулировать» более быстрое завершение выполняющихся вызовов.

Параметры
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Попытка принудительно завершить работу планировщика команд. Аналогично shutdownHard(true).

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

Аналогично функции shutdown() , но вместо этого будет ждать выполнения всех команд, прежде чем завершить работу.

Обратите внимание, что если какие-либо команды находятся в циклическом режиме, планировщик никогда не завершит работу.

начинать

public abstract void start ()

Запустите ICommandScheduler .

Этот метод необходимо вызвать перед вызовом других способов.

Будет выполняться до вызова shutdown() . См. Thread.start() .

stopInvocation

public abstract boolean stopInvocation (int invocationId, 
                String cause)

Остановить выполняющийся вызов, указав его идентификатор.

Параметры
invocationId int : идентификатор отслеживания вызова.

cause String : причина остановки вызова.

Возвраты
boolean Возвращает true, если вызов был остановлен, false в противном случае.

Броски
UnsupportedOperationException если реализация этого не поддерживает

stopInvocation

public boolean stopInvocation (int invocationId)

Остановить выполняющийся вызов, указав его идентификатор.

Параметры
invocationId int

Возвраты
boolean Возвращает true, если вызов был остановлен, false в противном случае.

Броски
UnsupportedOperationException если реализация этого не поддерживает

stopInvocation

public abstract boolean stopInvocation (ITestInvocation invocation)

Остановить выполняющуюся операцию.

Параметры
invocation ITestInvocation

Возвраты
boolean Возвращает true, если вызов был остановлен, false в противном случае.

Броски
UnsupportedOperationException если реализация этого не поддерживает

stopScheduling

public void stopScheduling ()

Это останавливает планирование и прием новых тестов, но не останавливает Tradefed. Это предназначено для обеспечения двухэтапного завершения работы, при котором сначала мы завершаем работу всех запущенных тестов, а затем завершаем процесс Tradefed.