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, listeners)

InstrumentationProtoResultParser oluşturur.

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