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, extraArgs) addCommandFile (String cmdFile, 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, devices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, 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)

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

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.

Публичные методы

добавитькоманду

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

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

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

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

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

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

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

добавитькомандный файл

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

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

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

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

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

См. также:

ждать

public abstract void await ()

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

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

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

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

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

Параметры
printWriter PrintWriter : ERROR(/PrintWriter) для вывода.

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

displayInvocatsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

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

Параметры
printWriter PrintWriter : ERROR(/PrintWriter) для вывода.

дампкоммандсксмл

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

Параметры
printWriter PrintWriter : ERROR(/PrintWriter) для вывода статуса.

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

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, 
                 devices, 
                String[] args)

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

Параметры
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener который будет проинформирован

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

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

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

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

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

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

Возврат
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

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

Возврат
int

getInvoctionInfo

public abstract String getInvocationInfo (int invocationId)

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

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

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

getLastInvoctionExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

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

Возврат
CommandRunner.ExitCode

getLastInvoctionThrowable

public abstract Throwable getLastInvocationThrowable ()

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

Возврат
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

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

Возврат
int

isDeviceInInvoctionThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

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

Параметры
device ITestDevice

Возврат
boolean

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

public abstract void join ()

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

См. также:

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

public abstract void join (long millis)

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

Параметры
millis long

См. также:

удалить все команды

public abstract void removeAllCommands ()

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

SetClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

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

Параметры
client ClearcutClient

долженШутдаунОнкмдфилееррор

public abstract boolean shouldShutdownOnCmdfileError ()

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

Возврат
boolean

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

public void shutdown ()

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

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

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

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

public abstract void shutdown (boolean notifyStop)

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

Параметры
notifyStop boolean : если true, уведомляет о выключении TF.

выключениеHard

public abstract void shutdownHard (boolean killAdb)

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

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

Параметры
killAdb boolean

выключениеHard

public abstract void shutdownHard ()

Попытайтесь принудительно завершить работу планировщика команд. То же, что и ShutdownHard(true).

ShutdownOnEmpty

public abstract void shutdownOnEmpty ()

Аналогично shutdown() , но вместо этого он ожидает выполнения всех команд перед выходом.

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

начинать

public abstract void start ()

Запустите ICommandScheduler .

Должен быть вызван перед вызовом других методов.

Будет работать до тех пор, пока не будет вызвана shutdown() . см Thread.start() .

остановить вызов

public abstract boolean stopInvocation (int invocationId, 
                String cause)

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

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

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

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

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

остановить вызов

public boolean stopInvocation (int invocationId)

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

Параметры
invocationId int

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

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

остановить вызов

public abstract boolean stopInvocation (ITestInvocation invocation)

Остановить текущий вызов.

Параметры
invocation ITestInvocation

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

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

стопРасписание

public void stopScheduling ()

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