Инструментирование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 | |
