Инструментирование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, Конструирует |
Публичные методы | |
---|---|
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 |