ResultDBReporter
public
class
ResultDBReporter
extends Object
implements
IConfigurationReceiver,
ILogSaverListener,
ISupportGranularResults,
ITestSummaryListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.resultdb.ResultDBReporter |
Reporter dei risultati che carica i risultati dei test in ResultDB.
Riepilogo
Campi | |
|---|---|
protected
IInvocationContext |
mContext
|
protected
boolean |
mEnableAlTestProperties
|
Costruttori pubblici | |
|---|---|
ResultDBReporter()
|
|
Metodi pubblici | |
|---|---|
TestSummary
|
getSummary()
Consente a InvocationListener di restituire un riepilogo. |
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. |
boolean
|
isDisabled()
|
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 |
void
|
setConfiguration(IConfiguration configuration)
Inserisce il |
void
|
setLogSaver(ILogSaver logSaver)
Imposta |
boolean
|
supportGranularResults()
Restituisce True se il reporter supporta risultati granulari, false in caso contrario. |
void
|
testAssumptionFailure(TestDescription test, String trace)
Chiamato quando un test atomico segnala che presuppone una condizione falsa |
void
|
testAssumptionFailure(TestDescription test, FailureDescription failure)
Chiamato quando un test atomico segnala che presuppone una condizione falsa |
void
|
testEnded(TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
Alternativa a |
void
|
testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Segnala la fine dell'esecuzione di un singolo scenario di test. |
void
|
testFailed(TestDescription test, FailureDescription failure)
Segnala l'esito negativo di un singolo test case. |
void
|
testFailed(TestDescription test, String trace)
Segnala l'esito negativo di un singolo test case. |
void
|
testIgnored(TestDescription test)
Chiamato quando un test non verrà eseguito, in genere perché un metodo di test è annotato con org.junit.Ignore. |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
Fornisce i dati di log o di debug associati dall'invocazione del test. |
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 elapsedTimeMillis, 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 |
void
|
testRunFailed(String errorMessage)
L'esecuzione del test dei report non è stata completata a causa di un errore irreversibile. |
void
|
testRunStarted(String runName, int testCount, int attemptNumber)
Segnala l'inizio di un'esecuzione di test. |
void
|
testRunStarted(String runName, int testCount)
Segnala l'inizio di un'esecuzione di test. |
void
|
testRunStarted(String runName, int testCount, int attemptNumber, long startTime)
Segnala l'inizio di un'esecuzione di test. |
void
|
testRunStopped(long elapsedTime)
L'esecuzione di prova dei report è stata interrotta prima del completamento a causa di una richiesta dell'utente. |
void
|
testSkipped(TestDescription test, SkipReason reason)
Chiamato quando un test viene ignorato e non eseguito per un motivo insolito. |
void
|
testStarted(TestDescription test, long startTime)
Alternativa a |
void
|
testStarted(TestDescription test)
Segnala l'inizio di un singolo scenario di test. |
void
|
uploadStoragePath(String resourceId, String storagePath, LogFile logFile)
Carica il percorso di archiviazione di un artefatto di test AnTS in ResultDB. |
Campi
mEnableAlTestProperties
protected boolean mEnableAlTestProperties
Costruttori pubblici
ResultDBReporter
public ResultDBReporter ()
Metodi pubblici
getSummary
public TestSummary getSummary ()
Consente a InvocationListener di restituire un riepilogo.
| Resi | |
|---|---|
TestSummary |
Un TestSummary che riassume la corsa o null |
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 |
isDisabled
public boolean isDisabled ()
| Resi | |
|---|---|
boolean |
|
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. |
setConfiguration
public void setConfiguration (IConfiguration configuration)
Inserisce il IConfiguration in uso.
| Parametri | |
|---|---|
configuration |
IConfiguration |
setLogSaver
public void setLogSaver (ILogSaver logSaver)
Imposta ILogSaver per consentire all'implementatore di salvare i file.
| Parametri | |
|---|---|
logSaver |
ILogSaver: il ILogSaver |
supportGranularResults
public boolean supportGranularResults ()
Restituisce True se il reporter supporta risultati granulari, false in caso contrario.
| Resi | |
|---|---|
boolean |
|
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
Chiamato quando un test atomico segnala che presuppone una condizione falsa
| Parametri | |
|---|---|
test |
TestDescription: identifica il test |
trace |
String: analisi dello stack dell'errore |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
Chiamato quando un test atomico segnala che presuppone una condizione falsa
| Parametri | |
|---|---|
test |
TestDescription: identifica il test |
failure |
FailureDescription: FailureDescription che descrive l'errore e il relativo contesto. |
testEnded
public void testEnded (TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
Alternativa a testEnded(TestDescription,Map) in cui possiamo specificare direttamente l'ora di fine. Combina con testStarted(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 |
HashMap: un Map delle metriche emesse |
testEnded
public void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Segnala la fine dell'esecuzione di un singolo scenario di test.
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 dello scenario di test.
| Parametri | |
|---|---|
test |
TestDescription: identifica il test |
testMetrics |
HashMap: un Map delle metriche emesse |
testFailed
public void testFailed (TestDescription test, FailureDescription failure)
Segnala l'esito negativo 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. |
testFailed
public void testFailed (TestDescription test, String trace)
Segnala l'esito negativo 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 void testIgnored (TestDescription test)
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 |
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. |
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 elapsedTimeMillis,
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 | |
|---|---|
elapsedTimeMillis |
long: tempo trascorso segnalato dal dispositivo, in millisecondi |
runMetrics |
HashMap: coppie chiave-valore riportate alla fine di un'esecuzione del 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 errorMessage)
L'esecuzione del test dei report non è stata completata 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 di test |
testCount |
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. |
testRunStarted
public void testRunStarted (String runName,
int testCount)Segnala l'inizio di un'esecuzione di test.
| Parametri | |
|---|---|
runName |
String: il nome dell'esecuzione di test |
testCount |
int: numero totale di test nell'esecuzione del 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 di test |
testCount |
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() |
testRunStopped
public void testRunStopped (long elapsedTime)
L'esecuzione di prova dei report è stata interrotta prima del completamento a causa di una richiesta dell'utente.
TODO: currently unused, consider removing
| Parametri | |
|---|---|
elapsedTime |
long: tempo trascorso segnalato dal dispositivo, in millisecondi |
testSkipped
public void testSkipped (TestDescription test, SkipReason reason)
Chiamato quando un test viene ignorato e non eseguito per un motivo insolito. Verrà effettuato un nuovo tentativo di esecuzione di questi test.
| Parametri | |
|---|---|
test |
TestDescription: identifica il test |
reason |
SkipReason: SkipReason |
testStarted
public void testStarted (TestDescription test, long startTime)
Alternativa a testStarted(TestDescription), in cui specifichiamo anche quando è iniziato il test, combinata con testEnded(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 void testStarted (TestDescription test)
Segnala l'inizio di un singolo scenario di test. Interfaccia precedente, deve utilizzare testStarted(TestDescription) quando possibile.
| Parametri | |
|---|---|
test |
TestDescription: identifica il test |
uploadStoragePath
public void uploadStoragePath (String resourceId,
String storagePath,
LogFile logFile)Carica il percorso di archiviazione di un artefatto di test AnTS in ResultDB.
Si tratta di una soluzione temporanea per la migrazione da AnTS a ResultDB (vedi go/convergence-tr). Questo metodo deve essere chiamato dal reporter AnTS quando il percorso di archiviazione di un artefatto diventa disponibile.
Il reporter AnTS garantisce che chiamerà questo metodo per ogni artefatto caricato. Questo
reporter, a sua volta, caricherà tutti questi artefatti in ResultDB con la corretta associazione
di test. Per l'associazione corretta dei log,è necessario che logAssociation(String,LogFile) sia stato chiamato in precedenza per lo stesso ID risorsa. In questo modo l'artefatto
viene già monitorato. In caso contrario, l'artefatto verrà associato all'unità di lavoro di primo livello
dell'invocazione di Tradefed.
Questo metodo non deve essere chiamato prima di invocationStarted(IInvocationContext). Può essere chiamato dopo invocationEnded(long) per le chiamate gestite da un sistema upstream, in quanto non vengono finalizzate da questo reporter. Questo non si applica alle chiamate create localmente, che vengono finalizzate in invocationEnded(long).
TODO(b/464941055): Remove this method once we can properly migrate AnTS artifacts to ResultDB.
| Parametri | |
|---|---|
resourceId |
String: l'ID risorsa dell'artefatto. |
storagePath |
String: il percorso di archiviazione dell'artefatto (ad es. un percorso /bigstore/). |
logFile |
LogFile: l'oggetto LogFile associato all'artefatto. |