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 |