ИнструментированиеProtoResultParser

public class InstrumentationProtoResultParser
extends Object implements IInstrumentationResultParser

java.lang.Объект
com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser


Анализирует результаты «режима вывода protoStd» инструментального теста, запущенного из оболочки, и сообщает о результатах ITestRunListener.

Команда Am Instrument с опцией «-m» постепенно выводит статус выполнения теста в двоичном формате protobuf. Выходным сообщением protobuf является InstrumentationData.Session , которое имеет два поля: 1) повторяющееся поле InstrumentationData.TestStatus , 2) InstrumentationData.SessionStatus . Команда am Instrument выводит сообщение о состоянии теста до/после выполнения каждого теста. addOutput(byte, int, int) вызывается с аргументом data , который представляет собой сериализованные байты TestStatus (es). Когда все тесты завершены, команда наконец выводит SessionStatus .

См. https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto для получения полного определения protobuf.

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) , если все тесты выполнены, или ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) , если это так. запрошено путем вызова cancel() .

Каждый раз, когда становится доступен новый статус теста, он будет сообщен зарегистрированным слушателям.

Краткое содержание

Общественные конструкторы

InstrumentationProtoResultParser (String runName, listeners)

Конструирует InstrumentationProtoResultParser .

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

void addOutput (byte[] data, int offset, int length)

Этот метод вызывается каждый раз, когда доступны новые данные.

void cancel ()
void flush ()
void handleTestRunFailed (String errorMsg)
boolean isCancelled ()

Общественные конструкторы

ИнструментированиеProtoResultParser

public InstrumentationProtoResultParser (String runName, 
                 listeners)

Конструирует InstrumentationProtoResultParser .

Параметры
runName String : имя тестового запуска, которое необходимо предоставить ITestRunListener.testRunStarted

listeners : информирование о результатах тестирования во время выполнения тестов

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

добавитьВыход

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