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 |