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, listeners)

InstrumentationProtoResultParser를 구성합니다.

공개 메서드

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