ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
   ↳ com.android.tradefed.result.CollectingTestListener
     ↳ com.android.tradefed.invoker.ShardListener


Un ITestInvocationListener che raccoglie i risultati di uno shard di invocazione (ovvero un'invocazione suddivisa per essere eseguita in parallelo su più risorse) e li inoltra a un altro listener.

Riepilogo

Costruttori pubblici

ShardListener(ITestInvocationListener main)

Crea un ShardListener.

Metodi pubblici

List<ITestInvocationListener> getUnderlyingResultReporter()
void invocationEnded(long elapsedTime)

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

void invocationFailed(FailureDescription failure)

Segnala una chiamata incompleta a causa di una condizione di errore.

void invocationFailed(Throwable cause)

Segnala una chiamata incompleta a causa di una condizione di errore.

void invocationSkipped(SkipReason reason)

Segnala un'invocazione come ignorata

void invocationStarted(IInvocationContext context)

Segnala l'inizio della chiamata di test.

void logAssociation(String dataName, LogFile logFile)

In alcuni casi, il log deve essere fortemente associato a uno scenario di test, ma l'opportunità di farlo nel callback diretto testLogSaved(String,LogDataType,InputStreamSource,LogFile) non è possibile.

void setSupportGranularResults(boolean enableGranularResults)
boolean supportGranularResults()

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

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

Fornisce i dati di log o di debug associati dall'invocazione del test.

void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

void testModuleEnded()

Segnala la fine dell'esecuzione di un modulo.

void testModuleStarted(IInvocationContext moduleContext)

Indica l'inizio dell'esecuzione di un modulo.

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

Segnala la fine dell'esecuzione del test.

void testRunFailed(FailureDescription failure)

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

void testRunFailed(String failureMessage)

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

void testRunStarted(String name, int numTests, int attemptNumber, long startTime)

Segnala l'inizio di un'esecuzione di test.

Costruttori pubblici

ShardListener

public ShardListener (ITestInvocationListener main)

Crea un ShardListener.

Parametri
main ITestInvocationListener: il ITestInvocationListener a cui devono essere inoltrati i risultati. Per evitare collisioni con altri ShardListener, questo oggetto si sincronizzerà su main durante l'inoltro dei risultati. I risultati verranno inviati solo al termine dello shard di invocazione.

Metodi pubblici

getUnderlyingResultReporter

public List<ITestInvocationListener> getUnderlyingResultReporter ()

Resi
List<ITestInvocationListener>

invocationEnded

public void invocationEnded (long elapsedTime)

Indica 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 dell'invocazione in ms

invocationFailed

public void invocationFailed (FailureDescription failure)

Segnala una chiamata 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 una chiamata 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 void invocationStarted (IInvocationContext context)

Segnala l'inizio della chiamata di test.

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

Parametri
context IInvocationContext: informazioni sulla chiamata

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

In alcuni casi, il log deve essere fortemente associato a uno scenario di test, ma l'opportunità di farlo nel callback diretto testLogSaved(String,LogDataType,InputStreamSource,LogFile) non è possibile. 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 che deve essere associato allo scenario di test.

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

Parametri
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

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

Resi
boolean

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

Fornisce i dati di log o di debug associati dall'invocazione del test.

Deve essere chiamato prima del giorno ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) o del giorno ERROR(/ITestInvocationListener#invocationEnded(long))

Il framework TradeFederation chiamerà automaticamente questo metodo, fornendo il log host e, se applicabile, il logcat del dispositivo.

Parametri
dataName String: un nome descrittivo dei dati, ad esempio "device_logcat".String Nota dataName potrebbe non essere univoco per invocazione. Ad esempio, gli implementatori devono essere in grado di gestire più chiamate con lo stesso dataName

dataType LogDataType: il LogDataType dei dati

dataStream InputStreamSource: il InputStreamSource dei dati. Gli implementatori devono chiamare createInputStream per iniziare a leggere i dati e assicurarsi di chiudere l'InputStream risultante al termine dell'operazione. I chiamanti devono assicurarsi che l'origine dei dati rimanga presente e accessibile fino al completamento del metodo testLog.

testLogSaved

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

Parametri
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

Segnala la fine dell'esecuzione di un modulo.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Indica l'inizio dell'esecuzione di un modulo. Questo callback è associato a testModuleEnded() ed è facoltativo nella sequenza. Viene utilizzato solo durante una corsa che utilizza moduli: runner basati su suite.

Parametri
moduleContext IInvocationContext: il IInvocationContext del modulo.

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

Segnala la fine dell'esecuzione del test. FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

Parametri
elapsedTime long: tempo trascorso segnalato dal dispositivo, in millisecondi

runMetrics HashMap: coppie chiave-valore riportate alla fine di un test con Metric.

testRunFailed

public void testRunFailed (FailureDescription failure)

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

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

testRunFailed

public void testRunFailed (String failureMessage)

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

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

testRunStarted

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

Segnala l'inizio di un'esecuzione di test.

Parametri
name String: il nome dell'esecuzione di test

numTests int: numero totale di test nell'esecuzione del test

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

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