InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
셸에서 실행된 계측 테스트의 'protoStd 출력 모드' 결과를 파싱하고 ITestRunListener에 결과를 알립니다.
'-m' 옵션이 있는 am instrument 명령어는 바이너리 protobuf 형식으로 테스트 실행 상태를 점진적으로 출력합니다. 출력 protobuf 메시지는 InstrumentationData.Session이며, 여기에는 1) 반복되는 InstrumentationData.TestStatus 필드와 2) InstrumentationData.SessionStatus 필드가 있습니다. am instrument 명령어는 각 테스트 실행 전후에 테스트 상태 메시지를 출력합니다. addOutput(byte, int, int)는 TestStatus의 직렬화된 바이트인 data 인수와 함께 호출됩니다. 모든 테스트가 완료되면 명령어는 마지막으로 SessionStatus를 출력합니다.
전체 protobuf 정의는 https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto를 참고하세요.
InstrumentationProtoResultParser은 상태 머신이며 상태는 ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState)에 정의되어 있습니다. 상태는 ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED)로 시작합니다. 첫 번째 테스트 사례 상태가 표시되면 ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING)로 이동합니다. 모든 테스트가 완료되면 상태가 ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED)로 변경되고 cancel()를 호출하여 요청되면 ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED)로 변경됩니다.
새 테스트 상태를 사용할 수 있을 때마다 등록된 리스너에게 알립니다.
요약
공개 생성자 | |
|---|---|
InstrumentationProtoResultParser(String runName,
|
|
공개 메서드 | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
이 메서드는 새 데이터를 사용할 수 있을 때마다 호출됩니다. |
void
|
cancel()
|
void
|
flush()
|
void
|
handleTestRunFailed(String errorMsg)
|
boolean
|
isCancelled()
|
공개 생성자
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
listeners) InstrumentationProtoResultParser를 구성합니다.
| 매개변수 | |
|---|---|
runName |
String: ITestRunListener.testRunStarted에 제공할 테스트 실행 이름입니다. |
listeners |
: 테스트가 실행될 때 테스트 결과를 알림 |
공개 메서드
addOutput
public void addOutput (byte[] data,
int offset,
int length)이 메서드는 새 데이터를 사용할 수 있을 때마다 호출됩니다.
| 매개변수 | |
|---|---|
data |
byte: InstrumentationData.Session 메시지의 직렬화된 데이터입니다. data가 불완전한 청크인 경우 내부 버퍼에 추가되고 다음 addOutput(byte, int, int) 호출에서 처리됩니다. |
offset |
int: data에 저장된 새 데이터의 오프셋 |
length |
int: 처리할 data의 새 데이터 바이트입니다. |
취소
public void cancel ()
플러시
public void flush ()
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
| 매개변수 | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
| 반환 값 | |
|---|---|
boolean |
|