컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.객체
com.android.tradefed.command.CommandScheduler


사용 가능한 모든 장치에서 TradeFederation 명령을 실행하기 위한 스케줄러입니다.

실행 시간의 총 실행 횟수를 기반으로 실행할 명령의 우선 순위를 지정하려고 시도합니다. 예를 들어, 자주 실행되지 않거나 빠르게 실행되는 명령은 장기간 실행되는 명령보다 우선 순위가 높습니다.

종료될 때까지 백그라운드에서 영원히 실행됩니다.

요약

중첩 클래스

enum CommandScheduler.HostState

호스트 상태가 다른 열거형

공개 생성자

CommandScheduler ()

CommandScheduler 를 만듭니다.

공개 메서드

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

스케줄러에 명령을 추가합니다.

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

주어진 파일의 모든 명령을 스케줄러에 추가합니다.

void await ()

해당되는 경우 이전 TF에서 핸드오버가 완료될 때까지 기다리는 것을 포함하여 스케줄러가 실행을 시작할 때까지 기다립니다.

static TradefedDelegator checkDelegation (String[] args)

명령줄을 기반으로 위임자를 생성하여 실행을 위임해야 하는지 확인합니다.

static createReleaseMap ( IInvocationContext context, Throwable e)

적절하게 해제될 수 있도록 장치 상태의 맵을 만듭니다.

ISandbox createSandbox ()

호출을 실행하는 데 사용할 ISandbox 를 만듭니다.

void displayCommandQueue (PrintWriter printWriter)

명령 실행 대기열의 상태에 대한 자세한 디버그 정보를 출력합니다.

void displayCommandsInfo (PrintWriter printWriter, String regex)

현재 명령 목록을 출력합니다.

void displayInvocationsInfo (PrintWriter printWriter)

현재 호출 목록을 표시합니다.

void dumpCommandsXml (PrintWriter printWriter, String regex)

모든 현재 명령에 대해 지정된 모든 Option 값을 사용하여 명령에 대한 확장된 xml 파일을 덤프합니다.

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

장치를 직접 할당하고 이미 존재하는 IInvocationContext 를 사용하여 명령 대기열에 장치를 추가하지 않고 명령을 실행합니다.

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

장치를 직접 할당하고 명령 대기열에 추가하지 않고 명령을 실행합니다.

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

이미 할당된 장치에서 직접 명령을 실행합니다.

CommandFileWatcher getCommandFileWatcher ()

이 스케줄러에 대한 적절한 CommandFileWatcher 가져오기

int getExecutingCommandCount ()

실행 상태의 명령 수를 반환합니다.

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

호출 ID를 지정하는 호출 bu에 대한 정보를 반환합니다.

CommandRunner.ExitCode getLastInvocationExitCode ()

실행된 마지막 호출의 오류 코드를 반환합니다.

Throwable getLastInvocationThrowable ()

실행된 마지막 호출에서 Throwable 을 반환합니다.

int getReadyCommandCount ()

대기열에서 준비 상태의 명령 수를 반환합니다.

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

활성 호출 스레드에서 장치를 사용하는 경우 true를 반환합니다.

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

스케줄러에서 모든 명령 제거

void run ()

이 스레드의 기본 실행 블록입니다.

void setClearcutClient (ClearcutClient client)

하네스 데이터를 보고하도록 클라이언트 설정

boolean shouldShutdownOnCmdfileError ()

명령 오류로 스케줄러를 종료해야 하는 경우 true를 반환합니다.

void shutdown (boolean notifyStop)

명령 스케줄러를 정상적으로 종료하려고 합니다.

void shutdownHard (boolean killAdb)

명령 스케줄러를 강제 종료합니다.

void shutdownHard ()

명령 스케줄러를 강제 종료합니다.

void shutdownOnEmpty ()

shutdown() 과 유사하지만 대신 종료하기 전에 모든 명령이 실행될 때까지 기다립니다.

void start ()

로깅 설정, DeviceManager 초기화 등을 포함한 스케줄러를 시작합니다.

boolean stopInvocation (int invocationId, String cause)

ID를 지정하여 실행 중인 호출을 중지합니다.

boolean stopInvocation ( ITestInvocation invocation)

실행 중인 호출을 중지합니다.

보호된 방법

void cleanUp ()

로그를 닫고 종료하기 전에 필요한 기타 정리 작업을 수행합니다.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

IConfigurationFactory 에 대한 참조를 가져오기 위한 팩토리 메서드

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

IDeviceManager 에 대한 참조를 가져오기 위한 팩토리 메소드

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

IGlobalConfiguration에 선언된 IKeyStoreClient 를 사용하여 IKeyStoreFactory 를 가져오거나 정의되지 않은 경우 null을 IGlobalConfiguration .

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

ddmlib 로그를 초기화합니다.

boolean isShutdown ()
boolean isShuttingDown ()
void processReadyCommands ( IDeviceManager manager)

공개 생성자

CommandScheduler

public CommandScheduler ()

CommandScheduler 를 만듭니다.

참고: 사용하기 전에 start를 호출해야 합니다.

공개 메서드

추가 명령

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

스케줄러에 명령을 추가합니다.

명령은 본질적으로 실행할 구성 및 관련 인수의 인스턴스입니다.

"--help" 인수가 지정되면 구성에 대한 도움말 텍스트가 stdout으로 출력됩니다. 그렇지 않으면 구성이 실행할 대기열에 추가됩니다.

매개변수
args String : 구성 인수.

보고
Pair <Boolean, Integer> 값 쌍, 첫 번째 값은 명령이 성공적으로 추가된 경우 부울 true 입니다. 두 번째 값은 명령이 성공적으로 추가된 경우 알려진 명령 추적기 ID(음수가 아닌 값)이고, 모든 장치에 명령이 추가되면 0을 반환하고, 그렇지 않으면 -1을 반환합니다.

던지다
ConfigurationException

추가 명령 파일

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

주어진 파일의 모든 명령을 스케줄러에 추가합니다.

매개변수
cmdFilePath String : 명령 파일의 파일 시스템 경로

extraArgs : 파일에서 구문 분석된 각 명령에 추가할 String 인수의 ERROR(/List) . 비어 있을 수 있지만 null이 아니어야 합니다.

던지다
ConfigurationException

기다리다

public void await ()

해당되는 경우 이전 TF에서 핸드오버가 완료될 때까지 기다리는 것을 포함하여 스케줄러가 실행을 시작할 때까지 기다립니다.

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

명령줄을 기반으로 위임자를 생성하여 실행을 위임해야 하는지 확인합니다.

매개변수
args String

보고
TradefedDelegator

던지다
ConfigurationException

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

적절하게 해제될 수 있도록 장치 상태의 맵을 만듭니다.

매개변수
context IInvocationContext

e Throwable

보고

샌드박스 생성

public ISandbox createSandbox ()

호출을 실행하는 데 사용할 ISandbox 를 만듭니다.

보고
ISandbox

디스플레이 명령 대기열

public void displayCommandQueue (PrintWriter printWriter)

명령 실행 대기열의 상태에 대한 자세한 디버그 정보를 출력합니다.

displayCommands정보

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

현재 명령 목록을 출력합니다.

매개변수
printWriter PrintWriter : 출력할 ERROR(/PrintWriter) 입니다.

regex String : 인쇄하기 위해 명령이 일치해야 하는 정규식입니다. null이면 모든 명령이 인쇄됩니다.

표시 호출 정보

public void displayInvocationsInfo (PrintWriter printWriter)

현재 호출 목록을 표시합니다.

매개변수
printWriter PrintWriter : 출력할 ERROR(/PrintWriter) 입니다.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

모든 현재 명령에 대해 지정된 모든 Option 값을 사용하여 명령에 대한 확장된 xml 파일을 덤프합니다.

매개변수
printWriter PrintWriter : 상태를 출력할 ERROR(/PrintWriter) 입니다.

regex String : xml 파일을 덤프하기 위해 명령이 일치해야 하는 정규식입니다. null이면 모든 명령이 덤프됩니다.

실행 명령

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

장치를 직접 할당하고 이미 존재하는 IInvocationContext 를 사용하여 명령 대기열에 장치를 추가하지 않고 명령을 실행합니다.

매개변수
context IInvocationContext : 기존 IInvocationContext 입니다.

listener ICommandScheduler.IScheduledInvocationListener : 알림을 받을 ICommandScheduler.IScheduledInvocationListener

args String : 명령 인수

보고
long

던지다
ConfigurationException
NoDeviceException

실행 명령

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

장치를 직접 할당하고 명령 대기열에 추가하지 않고 명령을 실행합니다.

매개변수
listener ICommandScheduler.IScheduledInvocationListener : 알림을 받을 ICommandScheduler.IScheduledInvocationListener

args String : 명령 인수

보고
long 예약된 명령의 호출 ID입니다.

던지다
ConfigurationException
NoDeviceException

실행 명령

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

이미 할당된 장치에서 직접 명령을 실행합니다.

매개변수
listener ICommandScheduler.IScheduledInvocationListener : 알림을 받을 ICommandScheduler.IScheduledInvocationListener

device ITestDevice : 사용할 ITestDevice

args String : 명령 인수

보고
long 예약된 명령의 호출 ID입니다.

던지다
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

이 스케줄러에 대한 적절한 CommandFileWatcher 가져오기

보고
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

실행 상태의 명령 수를 반환합니다.

보고
int

getHostState

public CommandScheduler.HostState getHostState ()

보고
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

호출 ID를 지정하는 호출 bu에 대한 정보를 반환합니다.

매개변수
invocationId int : 호출의 추적 ID입니다.

보고
String 호출에 대한 정보가 포함된 String 입니다.

마지막 호출 종료 코드

public CommandRunner.ExitCode getLastInvocationExitCode ()

실행된 마지막 호출의 오류 코드를 반환합니다. 호출이 아직 실행되지 않은 경우 0(오류 없음)을 반환합니다.

보고
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

실행된 마지막 호출에서 Throwable 을 반환합니다. 사용할 수 있는 throw 가능한 항목이 없으면 null을 반환합니다.

보고
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

대기열에서 준비 상태의 명령 수를 반환합니다.

보고
int

getShutdown타임아웃

public long getShutdownTimeout ()

보고
long

isDeviceInInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

활성 호출 스레드에서 장치를 사용하는 경우 true를 반환합니다.

매개변수
device ITestDevice

보고
boolean

알림파일변경됨

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

매개변수
cmdFile File

extraArgs

모든 명령 제거

public void removeAllCommands ()

스케줄러에서 모든 명령 제거

운영

public void run ()

이 스레드의 기본 실행 블록입니다.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

하네스 데이터를 보고하도록 클라이언트 설정

매개변수
client ClearcutClient

shouldShutdownOnCmdfile오류

public boolean shouldShutdownOnCmdfileError ()

명령 오류로 스케줄러를 종료해야 하는 경우 true를 반환합니다.

보고
boolean

일시 휴업

public void shutdown (boolean notifyStop)

명령 스케줄러를 정상적으로 종료하려고 합니다.

매개변수
notifyStop boolean : true이면 TF 종료 호출을 알립니다.

셧다운하드

public void shutdownHard (boolean killAdb)

명령 스케줄러를 강제 종료합니다.

shutdown() 과 유사하지만 더 빨리 완료하기 위해 진행 중인 호출을 '고시'하기 위해 선택적으로 adb 연결을 종료합니다.

매개변수
killAdb boolean

셧다운하드

public void shutdownHard ()

명령 스케줄러를 강제 종료합니다. shutdownHard(true)와 동일합니다.

셧다운온빈티

public void shutdownOnEmpty ()

shutdown() 과 유사하지만 대신 종료하기 전에 모든 명령이 실행될 때까지 기다립니다.

명령이 루프 모드에 있으면 스케줄러가 종료되지 않습니다.

시작

public void start ()

로깅 설정, DeviceManager 초기화 등을 포함한 스케줄러를 시작합니다.

중지 호출

public boolean stopInvocation (int invocationId, 
                String cause)

ID를 지정하여 실행 중인 호출을 중지합니다.

매개변수
invocationId int : 호출의 추적 ID입니다.

cause String : 호출을 중지하는 원인입니다.

보고
boolean 호출이 중지된 경우 true, 그렇지 않으면 false

중지 호출

public boolean stopInvocation (ITestInvocation invocation)

실행 중인 호출을 중지합니다.

매개변수
invocation ITestInvocation

보고
boolean 호출이 중지된 경우 true, 그렇지 않으면 false

보호된 방법

대청소

protected void cleanUp ()

로그를 닫고 종료하기 전에 필요한 기타 정리 작업을 수행합니다.

단위 테스트가 조롱할 수 있도록 노출됩니다.

구성 만들기

protected IConfiguration createConfiguration (String[] args)

매개변수
args String

보고
IConfiguration

던지다
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

보고
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

IConfigurationFactory 에 대한 참조를 가져오기 위한 팩토리 메서드

보고
IConfigurationFactory 사용할 IConfigurationFactory

getDeviceManagement서버

protected DeviceManagementGrpcServer getDeviceManagementServer ()

보고
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

IDeviceManager 에 대한 참조를 가져오기 위한 팩토리 메소드

보고
IDeviceManager 사용할 IDeviceManager

getFeature 서버

protected TradefedFeatureServer getFeatureServer ()

보고
TradefedFeatureServer

getHost 옵션

protected IHostOptions getHostOptions ()

보고
IHostOptions

getKeyStore클라이언트

protected IKeyStoreClient getKeyStoreClient ()

IGlobalConfiguration에 선언된 IKeyStoreClient 를 사용하여 IKeyStoreFactory 를 가져오거나 정의되지 않은 경우 null을 IGlobalConfiguration .

보고
IKeyStoreClient IKeyStore 클라이언트

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

보고
TestInvocationManagementServer

초기화 로깅

protected void initLogging ()

ddmlib 로그를 초기화합니다.

단위 테스트가 조롱할 수 있도록 노출됩니다.

isShutdown

protected boolean isShutdown ()

보고
boolean

isShuttingDown

protected boolean isShuttingDown ()

보고
boolean

프로세스 준비 명령

protected void processReadyCommands (IDeviceManager manager)

매개변수
manager IDeviceManager