InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
Kabuktan çalıştırılan bir enstrümantasyon testinin "protoStd çıkış modu" sonuçlarını ayrıştırır ve ITestRunListener'ı sonuçlar hakkında bilgilendirir.
"-m" seçeneğiyle am instrument komutu, test yürütme durumunu ikili protobuf biçiminde artımlı olarak gösterir. Çıkış protobuf mesajı InstrumentationData.Session'tir ve iki alanı vardır: 1) InstrumentationData.TestStatus yinelenen alanı, 2) InstrumentationData.SessionStatus. am instrument komutu, her test çalıştırmadan önce/sonra test durumu mesajını döndürür. addOutput(byte, int, int), TestStatus(ler)in serileştirilmiş baytları olan bir data bağımsız değişkeniyle çağrılır. Tüm testler tamamlandığında komut sonunda SessionStatus değerini döndürür.
Tam protobuf tanımı için https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto adresine bakın.
InstrumentationProtoResultParser bir durum makinesidir ve durumlar ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState) içinde tanımlanır. Eyalet, ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED) ile başlar. İlk test durumu göründüğünde ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING) durumuna geçer. Tüm testler tamamlanırsa durum ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) olarak değişir veya cancel() çağrılarak istenirse ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) olarak değişir.
Yeni bir test durumu her kullanıma sunulduğunda kayıtlı dinleyicilere bildirilir.
Özet
Herkese açık kurucular | |
|---|---|
InstrumentationProtoResultParser(String runName,
|
|
Herkese açık yöntemler | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
Bu yöntem, yeni veri her mevcut olduğunda çağrılır. |
void
|
cancel()
|
void
|
flush()
|
void
|
handleTestRunFailed(String errorMsg)
|
boolean
|
isCancelled()
|
Herkese açık kurucular
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
listeners) InstrumentationProtoResultParser oluşturur.
| Parametreler | |
|---|---|
runName |
String: ITestRunListener.testRunStarted için sağlanacak test çalıştırma adı |
listeners |
: Testler yürütülürken test sonuçları hakkında bilgilendirilir |
Herkese açık yöntemler
addOutput
public void addOutput (byte[] data,
int offset,
int length)Bu yöntem, yeni veri her mevcut olduğunda çağrılır.
| Parametreler | |
|---|---|
data |
byte: InstrumentationData.Session mesajının serileştirilmiş verileri. data
tamamlanmamış bir parçaysa dahili bir arabelleğe eklenir ve sonraki addOutput(byte, int, int) çağrısında işlenir. |
offset |
int: data içinde depolanan yeni verilerin ofseti |
length |
int: data'da işlenecek yeni verilerin bayt sayısı. |
iptal
public void cancel ()
eşitlemek
public void flush ()
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
| Parametreler | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
| İlerlemeler | |
|---|---|
boolean |
|