ProtoResultReporter

public abstract class ProtoResultReporter
extends Object implements ILogSaverListener, ISupportGranularResults, ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.proto.ProtoResultReporter


Il Report sui risultati genera un TestRecord protobuf con tutti i risultati al suo interno. Deve essere esteso per gestire cosa fare con il proto finale in processFinalProto(com.android.tradefed.result.proto.TestRecordProto.TestRecord).

Riepilogo

Costruttori pubblici

ProtoResultReporter()

Metodi pubblici

final void invocationEnded(long elapsedTime)

Segnala che l'invocazione è terminata, correttamente o a causa di una condizione di errore.

void invocationFailed(FailureDescription failure)

Segnala un'invocazione incompleta a causa di una condizione di errore.

void invocationFailed(Throwable cause)

Segnala un'invocazione incompleta a causa di una condizione di errore.

void invocationSkipped(SkipReason reason)

Segnala un'invocazione come ignorata

final void invocationStarted(IInvocationContext context)

Segnala l'inizio dell'invocazione del test.

final void logAssociation(String dataName, LogFile logFile)

In alcuni casi, il log deve essere strettamente associato a uno scenario di test, ma non è possibile farlo con il callback testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) diretto.

void processFinalInvocationLogs(TestRecordProto.TestRecord invocationLogs)

Utilizza il record di chiamata per inviare uno per uno tutti i log finali della chiamata.

void processFinalProto(TestRecordProto.TestRecord finalRecord)

Gestione del protocollo finale con tutti i risultati.

void processStartInvocation(TestRecordProto.TestRecord invocationStartRecord, IInvocationContext invocationContext)

Gestione del protocollo del record del test di chiamata parziale dopo che si è verificato invocationStarted(com.android.tradefed.invoker.IInvocationContext).

void processTestCaseEnded(TestRecordProto.TestRecord testCaseRecord)

Gestione del protocollo del record dello scenario di test finalizzato dopo il giorno ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,HashMap)).

void processTestCaseStarted(TestRecordProto.TestRecord testCaseStartedRecord)

Gestione del record proto dello scenario di test parziale dopo l'evento testStarted(com.android.tradefed.result.TestDescription, long).

void processTestModuleEnd(TestRecordProto.TestRecord moduleRecord)

Gestione del protocollo del record del modulo finalizzato dopo che si è verificato testModuleEnded().

void processTestModuleStarted(TestRecordProto.TestRecord moduleStartRecord)

Gestione del protocollo del record di modulo parziale dopo che si è verificato testModuleStarted(com.android.tradefed.invoker.IInvocationContext).

void processTestRunEnded(TestRecordProto.TestRecord runRecord, boolean moduleInProgress)

Gestione del proto del record di esecuzione completato dopo che si è verificato ERROR(/#testRunEnded(long,HashMap)).

void processTestRunStarted(TestRecordProto.TestRecord runStartedRecord)

Gestione del proto del record di esecuzione del test parziale dopo che si è verificato testRunStarted(String, int).

void setGranularResults(boolean granularResults)
void setInlineRecordOfChildren(boolean inline)
boolean supportGranularResults()

Restituisce True se il segnalatore supporta risultati granulari, false in caso contrario.

final void testAssumptionFailure(TestDescription test, String trace)

Richiamato quando un test atomico segnala che assume una condizione falsa

final void testAssumptionFailure(TestDescription test, FailureDescription failure)

Richiamato quando un test atomico segnala che assume una condizione falsa

final void testEnded(TestDescription test, long endTime, testMetrics)

Alternativa a ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) in cui possiamo specificare direttamente l'ora di fine.

void testEnded(TestDescription test, testMetrics)

Segnala il termine dell'esecuzione di un singolo test case.

final void testFailed(TestDescription test, FailureDescription failure)

Segnala l'errore di un singolo test case.

final void testFailed(TestDescription test, String trace)

Segnala l'errore di un singolo test case.

final void testIgnored(TestDescription test)

Viene chiamato quando un test non verrà eseguito, in genere perché un metodo di test è annotato con org.junit.Ignore.

final void testModuleEnded()

Segnala la fine dell'esecuzione di un modulo.

final void testModuleStarted(IInvocationContext moduleContext)

Segnala l'inizio dell'esecuzione di un modulo.

final void testRunEnded(long elapsedTimeMillis, runMetrics)

Segnala la fine dell'esecuzione del test.

final void testRunFailed(FailureDescription failure)

L'esecuzione del test dei report non è riuscita a causa di un errore descritto da FailureDescription.

final void testRunFailed(String errorMessage)

L'esecuzione del test dei report non è riuscita a causa di un errore fatale.

void testRunStarted(String runName, int testCount, int attemptNumber)

Segnala l'inizio di un'esecuzione di test.

final void testRunStarted(String runName, int testCount)

Segnala l'inizio di un'esecuzione del test.

void testRunStarted(String runName, int testCount, int attemptNumber, long startTime)

Segnala l'inizio di un'esecuzione di test.

final void testSkipped(TestDescription test, SkipReason reason)

Viene chiamato quando un test viene saltato e non viene eseguito per un motivo in genere imprevisto.

final void testStarted(TestDescription test, long startTime)

Alternativa a testStarted(com.android.tradefed.result.TestDescription) in cui viene specificato anche quando è stato avviato il test, combinata con ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) per una misurazione accurata.

final void testStarted(TestDescription test)

Segnala l'inizio di un singolo test case.

Metodi protetti

void afterModuleEnd()
void beforeModuleStart()
TestRecordProto.ChildReference createModuleChildReference(TestRecordProto.TestRecord record)

Crea un riferimento secondario per un modulo.

Costruttori pubblici

ProtoResultReporter

public ProtoResultReporter ()

Metodi pubblici

invocationEnded

public final void invocationEnded (long elapsedTime)

Segnala che l'invocazione è terminata, correttamente o a causa di una condizione di errore.

Verrà chiamato automaticamente dal framework TradeFederation.

Parametri
elapsedTime long: il tempo trascorso dall'invocazione in ms

chiamata non riuscita

public void invocationFailed (FailureDescription failure)

Segnala un'invocazione incompleta a causa di una condizione di errore.

Verrà chiamato automaticamente dal framework TradeFederation.

Parametri
failure FailureDescription: il FailureDescription che descrive la causa dell'errore

invocationFailed

public void invocationFailed (Throwable cause)

Segnala un'invocazione incompleta a causa di una condizione di errore.

Verrà chiamato automaticamente dal framework TradeFederation.

Parametri
cause Throwable: la causa Throwable dell'errore

invocationSkipped

public void invocationSkipped (SkipReason reason)

Segnala un'invocazione come ignorata

Parametri
reason SkipReason

invocationStarted

public final void invocationStarted (IInvocationContext context)

Segnala l'inizio dell'invocazione del test.

Verrà chiamato automaticamente dal framework TradeFederation. I reporter devono eseguire l'override di questo metodo per supportare la generazione di report su più dispositivi.

Parametri
context IInvocationContext: informazioni sulla chiamata

logAssociation

public final void logAssociation (String dataName, 
                LogFile logFile)

In alcuni casi, il log deve essere strettamente associato a un test case, ma non è possibile farlo nel callback testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) diretto. Pertanto, questo callback consente di fornire un'associazione forte in modo esplicito.

Parametri
dataName String: il nome dei dati

logFile LogFile: il LogFile registrato in precedenza e da associare al test case.

processFinalInvocationLog

public void processFinalInvocationLogs (TestRecordProto.TestRecord invocationLogs)

Utilizza il record di chiamata per inviare uno per uno tutti i log finali della chiamata.

Parametri
invocationLogs TestRecordProto.TestRecord: il protocollo finalizzato che rappresenta la chiamata.

processoFinalProto

public void processFinalProto (TestRecordProto.TestRecord finalRecord)

Gestione del protocollo finale con tutti i risultati.

Parametri
finalRecord TestRecordProto.TestRecord: il proto completato con tutti i risultati dell'invocazione.

processStartInvocation

public void processStartInvocation (TestRecordProto.TestRecord invocationStartRecord, 
                IInvocationContext invocationContext)

Gestione del proto del record di test di chiamata parziale dopo l'evento invocationStarted(com.android.tradefed.invoker.IInvocationContext).

Parametri
invocationStartRecord TestRecordProto.TestRecord: il protocollo parziale compilato dopo la chiamata all'inizio.

invocationContext IInvocationContext: l'invocazione IInvocationContext.

processTestCaseEnded

public void processTestCaseEnded (TestRecordProto.TestRecord testCaseRecord)

Gestione del proto del record dello scenario di test completato dopo l'evento ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,HashMap)).

Parametri
testCaseRecord TestRecordProto.TestRecord: il protocollo finalizzato che rappresenta uno scenario di test.

processTestCaseStarted

public void processTestCaseStarted (TestRecordProto.TestRecord testCaseStartedRecord)

Gestione del record proto dello scenario di test parziale dopo l'evento testStarted(com.android.tradefed.result.TestDescription, long).

Parametri
testCaseStartedRecord TestRecordProto.TestRecord: il proto parziale che rappresenta lo scenario di test.

processTestModuleEnd

public void processTestModuleEnd (TestRecordProto.TestRecord moduleRecord)

Gestione del proto del record del modulo completato dopo l'evento testModuleEnded().

Parametri
moduleRecord TestRecordProto.TestRecord: il proto definitivo che rappresenta il modulo.

processTestModuleStarted

public void processTestModuleStarted (TestRecordProto.TestRecord moduleStartRecord)

Gestione del proto del record del modulo parziale dopo l'evento testModuleStarted(com.android.tradefed.invoker.IInvocationContext).

Parametri
moduleStartRecord TestRecordProto.TestRecord: il protocollo parziale che rappresenta il modulo.

processTestRunEnded

public void processTestRunEnded (TestRecordProto.TestRecord runRecord, 
                boolean moduleInProgress)

Gestione del protocollo del record dell'esecuzione finalizzata dopo che si è verificato ERROR(/#testRunEnded(long,HashMap)).

Parametri
runRecord TestRecordProto.TestRecord: il proto finalizzato che rappresenta l'esecuzione.

moduleInProgress boolean: indica se un modulo è in corso o meno.

processTestRunStarted

public void processTestRunStarted (TestRecordProto.TestRecord runStartedRecord)

Gestione del protocollo del record dell'esecuzione di test parziale dopo che si è verificato testRunStarted(String, int).

Parametri
runStartedRecord TestRecordProto.TestRecord: il proto parziale che rappresenta l'esecuzione.

setGranularResults

public void setGranularResults (boolean granularResults)

Parametri
granularResults boolean

setInlineRecordOfChildren

public void setInlineRecordOfChildren (boolean inline)

Parametri
inline boolean

supportGranularResults

public boolean supportGranularResults ()

Restituisce True se l'autore della segnalazione supporta risultati granulari, false negli altri casi.

Ritorni
boolean

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                String trace)

Richiamato quando un test atomico segnala che assume una condizione falsa

Parametri
test TestDescription: identifica il test

trace String: analisi dello stack dell'errore

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

Richiamato quando un test atomico segnala che assume una condizione falsa

Parametri
test TestDescription: identifica il test

failure FailureDescription: FailureDescription che descrive l'errore e il relativo contesto.

testTerminato

public final void testEnded (TestDescription test, 
                long endTime, 
                 testMetrics)

Alternativa a ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) in cui possiamo specificare direttamente l'ora di fine. Combinalo con testStarted(com.android.tradefed.result.TestDescription, long) per una misurazione accurata.

Parametri
test TestDescription: identifica il test

endTime long: l'ora in cui è terminato il test, misurata tramite System.currentTimeMillis()

testMetrics : una percentuale pari a ERROR(/Map) delle metriche emesse

testEnded

public void testEnded (TestDescription test, 
                 testMetrics)

Segnala il termine dell'esecuzione di un singolo test case.

Se testFailed(TestDescription, FailureDescription) non è stato richiamato, questo test è stato superato. Restituisce anche eventuali metriche chiave/valore che potrebbero essere state emesse durante l'esecuzione del test case.

Parametri
test TestDescription: identifica il test

testMetrics : una percentuale pari a ERROR(/Map) delle metriche emesse

testFailed

public final void testFailed (TestDescription test, 
                FailureDescription failure)

Segnala l'errore di un singolo test case.

Verrà chiamato tra testStarted e testEnded.

Parametri
test TestDescription: identifica il test

failure FailureDescription: FailureDescription che descrive l'errore e il relativo contesto.

testNon riuscito

public final void testFailed (TestDescription test, 
                String trace)

Segnala l'errore di un singolo test case.

Verrà chiamato tra testStarted e testEnded.

Parametri
test TestDescription: identifica il test

trace String: analisi dello stack dell'errore

testIgnored

public final void testIgnored (TestDescription test)

Viene chiamato quando un test non verrà eseguito, in genere perché un metodo di test è annotato con org.junit.Ignore.

Parametri
test TestDescription: identifica il test

testModuloTerminato

public final void testModuleEnded ()

Segnala la fine dell'esecuzione di un modulo.

testModuleStarted

public final void testModuleStarted (IInvocationContext moduleContext)

Segnala l'inizio di un modulo in esecuzione. Questo callback è associato a testModuleEnded() ed è facoltativo nella sequenza. Viene utilizzato solo durante un'esecuzione che impiega i moduli: runner basati su suite.

Parametri
moduleContext IInvocationContext: il IInvocationContext del modulo.

testRunEnded

public final void testRunEnded (long elapsedTimeMillis, 
                 runMetrics)

Segnala la fine dell'esecuzione del test.

Parametri
elapsedTimeMillis long: tempo trascorso sul dispositivo segnalato, in millisecondi

runMetrics : coppie chiave-valore registrate al termine di un'esecuzione del test

testRunFailed

public final void testRunFailed (FailureDescription failure)

L'esecuzione del test dei report non è riuscita a causa di un errore descritto da FailureDescription.

Parametri
failure FailureDescription: FailureDescription che descrive l'errore e il relativo contesto.

testRunNon riuscito

public final void testRunFailed (String errorMessage)

L'esecuzione del test dei report non è riuscita a causa di un errore irreversibile.

Parametri
errorMessage String: String che descrive il motivo dell'errore di esecuzione.

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber)

Segnala l'inizio di un'esecuzione di test.

Parametri
runName String: il nome dell'esecuzione del test

testCount int: numero totale di test nell'esecuzione di test

attemptNumber int: numero d'ordine, che identifica i diversi tentativi dello stesso runName eseguiti più volte. Il numero di tentativi è indicizzato da 0 e deve aumentare ogni volta che viene eseguita una nuova esecuzione. Ad esempio, un test viene riavviato granularmente 3 volte, deve avere 4 esecuzioni totali con lo stesso nome esecuzione e il numero di tentativi va da 0 a 3.

testRunStarted

public final void testRunStarted (String runName, 
                int testCount)

Segnala l'inizio di un'esecuzione di test.

Parametri
runName String: il nome dell'esecuzione del test

testCount int: numero totale di test nell'esecuzione di test

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

Segnala l'inizio di un'esecuzione di test.

Parametri
runName String: il nome dell'esecuzione del test

testCount int: numero totale di test nell'esecuzione di test

attemptNumber int: numero d'ordine, che identifica i diversi tentativi dello stesso runName eseguiti più volte. Il valore attemptNumber è indicizzato da 0 e deve aumentare ogni volta che viene eseguita una nuova esecuzione. Ad esempio, un test viene riavviato granularmente 3 volte, deve avere 4 esecuzioni totali con lo stesso nome runName e il valore attemptNumber deve essere compreso tra 0 e 3.

startTime long: l'ora di inizio dell'esecuzione, misurata tramite System.currentTimeMillis()

testSkipped

public final void testSkipped (TestDescription test, 
                SkipReason reason)

Viene chiamato quando un test viene saltato e non viene eseguito per un motivo in genere imprevisto. Verrà tentato di ripetere questi test per ottenere un'esecuzione corretta.

Parametri
test TestDescription: identifica il test

reason SkipReason: SkipReason

testStarted

public final void testStarted (TestDescription test, 
                long startTime)

Alternativa a testStarted(com.android.tradefed.result.TestDescription) in cui viene specificato anche quando è stato avviato il test, combinata con ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) per una misurazione accurata.

Parametri
test TestDescription: identifica il test

startTime long: l'ora di inizio del test, misurata tramite System.currentTimeMillis()

testStarted

public final void testStarted (TestDescription test)

Segnala l'inizio di un singolo test case. L'interfaccia precedente dovrebbe utilizzare testStarted(com.android.tradefed.result.TestDescription) quando possibile.

Parametri
test TestDescription: identifica il test

Metodi protetti

afterModuleEnd

protected void afterModuleEnd ()

primaModuloStart

protected void beforeModuleStart ()

createModuleChildReference

protected TestRecordProto.ChildReference createModuleChildReference (TestRecordProto.TestRecord record)

Crea un riferimento secondario per un modulo.

Parametri
record TestRecordProto.TestRecord

Ritorni
TestRecordProto.ChildReference