ResultDBReporter
public
class
ResultDBReporter
extends Object
implements
IConfigurationReceiver,
ILogSaverListener,
ISupportGranularResults,
ITestSummaryListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.resultdb.ResultDBReporter |
Gerador de relatórios de resultados que faz upload dos resultados do teste para o ResultDB.
Resumo
Campos | |
|---|---|
protected
IInvocationContext |
mContext
|
protected
boolean |
mEnableAlTestProperties
|
Construtores públicos | |
|---|---|
ResultDBReporter()
|
|
Métodos públicos | |
|---|---|
TestSummary
|
getSummary()
Permite que o InvocationListener retorne um resumo. |
void
|
invocationEnded(long elapsedTime)
Informa que a invocação foi encerrada, seja com sucesso ou devido a alguma condição de erro. |
void
|
invocationFailed(FailureDescription failure)
Informa uma invocação incompleta devido a alguma condição de erro. |
void
|
invocationFailed(Throwable cause)
Informa uma invocação incompleta devido a alguma condição de erro. |
void
|
invocationSkipped(SkipReason reason)
Informa que uma invocação foi ignorada. |
void
|
invocationStarted(IInvocationContext context)
Informa o início da invocação do teste. |
boolean
|
isDisabled()
|
void
|
logAssociation(String dataName, LogFile logFile)
Em alguns casos, o registro precisa estar fortemente associado a um caso de teste, mas não é possível fazer isso no callback direto do |
void
|
setConfiguration(IConfiguration configuration)
Injeta a |
void
|
setLogSaver(ILogSaver logSaver)
Defina |
boolean
|
supportGranularResults()
Retorna "True" se o jornalista puder usar resultados detalhados. Caso contrário, retorna "False". |
void
|
testAssumptionFailure(TestDescription test, String trace)
Chamado quando um teste atômico sinaliza que ele pressupõe uma condição falsa. |
void
|
testAssumptionFailure(TestDescription test, FailureDescription failure)
Chamado quando um teste atômico sinaliza que ele pressupõe uma condição falsa. |
void
|
testEnded(TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
Alternativa a |
void
|
testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Informa o fim da execução de um caso de teste individual. |
void
|
testFailed(TestDescription test, FailureDescription failure)
Informa a falha de um caso de teste individual. |
void
|
testFailed(TestDescription test, String trace)
Informa a falha de um caso de teste individual. |
void
|
testIgnored(TestDescription test)
Chamado quando um teste não é executado, geralmente porque um método de teste é anotado com org.junit.Ignore. |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
Fornece os dados de depuração ou de registro associados da invocação de teste. |
void
|
testModuleEnded()
Informa o fim da execução de um módulo. |
void
|
testModuleStarted(IInvocationContext moduleContext)
Informa o início da execução de um módulo. |
void
|
testRunEnded(long elapsedTimeMillis, HashMap<String, MetricMeasurement.Metric> runMetrics)
Informa o fim da execução do teste. |
void
|
testRunFailed(FailureDescription failure)
Não foi possível concluir o teste de execução de relatórios devido a uma falha descrita por |
void
|
testRunFailed(String errorMessage)
A execução do teste de relatórios não foi concluída devido a um erro fatal. |
void
|
testRunStarted(String runName, int testCount, int attemptNumber)
Informa o início de um teste. |
void
|
testRunStarted(String runName, int testCount)
Informa o início de um teste. |
void
|
testRunStarted(String runName, int testCount, int attemptNumber, long startTime)
Informa o início de um teste. |
void
|
testRunStopped(long elapsedTime)
A execução de teste de relatórios foi interrompida antes da conclusão devido a uma solicitação do usuário. |
void
|
testSkipped(TestDescription test, SkipReason reason)
Chamado quando um teste é ignorado e não é executado por um motivo que geralmente não é esperado. |
void
|
testStarted(TestDescription test, long startTime)
Alternativa a |
void
|
testStarted(TestDescription test)
Informa o início de um caso de teste individual. |
void
|
uploadStoragePath(String resourceId, String storagePath, LogFile logFile)
Faz upload do caminho de armazenamento de um artefato de teste do AnTS para o ResultDB. |
Campos
mEnableAlTestProperties
protected boolean mEnableAlTestProperties
Construtores públicos
ResultDBReporter
public ResultDBReporter ()
Métodos públicos
getSummary
public TestSummary getSummary ()
Permite que o InvocationListener retorne um resumo.
| Retorna | |
|---|---|
TestSummary |
Um TestSummary que resume a execução ou nulo |
invocationEnded
public void invocationEnded (long elapsedTime)
Informa que a invocação foi encerrada, seja com sucesso ou devido a alguma condição de erro.
Será chamado automaticamente pela estrutura TradeFederation.
| Parâmetros | |
|---|---|
elapsedTime |
long: o tempo decorrido da invocação em ms |
invocationFailed
public void invocationFailed (FailureDescription failure)
Informa uma invocação incompleta devido a alguma condição de erro.
Será chamado automaticamente pela estrutura TradeFederation.
| Parâmetros | |
|---|---|
failure |
FailureDescription: o FailureDescription que descreve a causa da falha |
invocationFailed
public void invocationFailed (Throwable cause)
Informa uma invocação incompleta devido a alguma condição de erro.
Será chamado automaticamente pela estrutura TradeFederation.
| Parâmetros | |
|---|---|
cause |
Throwable: a causa Throwable da falha. |
invocationSkipped
public void invocationSkipped (SkipReason reason)
Informa que uma invocação foi ignorada.
| Parâmetros | |
|---|---|
reason |
SkipReason |
invocationStarted
public void invocationStarted (IInvocationContext context)
Informa o início da invocação do teste.
Será chamado automaticamente pela estrutura TradeFederation. Os repórteres precisam substituir esse método para oferecer suporte a relatórios de vários dispositivos.
| Parâmetros | |
|---|---|
context |
IInvocationContext: informações sobre a invocação |
isDisabled
public boolean isDisabled ()
| Retorna | |
|---|---|
boolean |
|
logAssociation
public void logAssociation (String dataName,
LogFile logFile)Em alguns casos, o registro precisa estar fortemente associado a um caso de teste, mas não é possível fazer isso no callback direto do testLogSaved(String,LogDataType,InputStreamSource,LogFile). Assim, esse callback permite fornecer uma associação forte de forma explícita.
| Parâmetros | |
|---|---|
dataName |
String: o nome dos dados |
logFile |
LogFile: o LogFile registrado anteriormente e que precisa ser associado ao
caso de teste. |
setConfiguration
public void setConfiguration (IConfiguration configuration)
Injeta a IConfiguration em uso.
| Parâmetros | |
|---|---|
configuration |
IConfiguration |
setLogSaver
public void setLogSaver (ILogSaver logSaver)
Defina ILogSaver para permitir que o implementador salve arquivos.
| Parâmetros | |
|---|---|
logSaver |
ILogSaver: o ILogSaver |
supportGranularResults
public boolean supportGranularResults ()
Retorna "True" se o jornalista puder usar resultados detalhados. Caso contrário, retorna "False".
| Retorna | |
|---|---|
boolean |
|
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
Chamado quando um teste atômico sinaliza que ele pressupõe uma condição falsa.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
trace |
String: stack trace da falha |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
Chamado quando um teste atômico sinaliza que ele pressupõe uma condição falsa.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
failure |
FailureDescription: FailureDescription que descreve a falha e o contexto dela. |
testEnded
public void testEnded (TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
Alternativa a testEnded(TestDescription,Map) em que podemos especificar o horário de término diretamente. Combine com testStarted(TestDescription,long) para uma medição precisa.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
endTime |
long: o horário em que o teste terminou, medido por System.currentTimeMillis() |
testMetrics |
HashMap: uma Map das métricas emitidas |
testEnded
public void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Informa o fim da execução de um caso de teste individual.
Se testFailed(TestDescription, FailureDescription) não foi invocado, o teste foi aprovado. Também retorna todas as métricas de chave/valor que podem ter sido emitidas durante a execução do caso de teste.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
testMetrics |
HashMap: uma Map das métricas emitidas |
testFailed
public void testFailed (TestDescription test, FailureDescription failure)
Informa a falha de um caso de teste individual.
Será chamado entre testStarted e testEnded.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
failure |
FailureDescription: FailureDescription que descreve a falha e o contexto dela. |
testFailed
public void testFailed (TestDescription test, String trace)
Informa a falha de um caso de teste individual.
Será chamado entre testStarted e testEnded.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
trace |
String: stack trace da falha |
testIgnored
public void testIgnored (TestDescription test)
Chamado quando um teste não é executado, geralmente porque um método de teste é anotado com org.junit.Ignore.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
testLog
public void testLog (String dataName,
LogDataType dataType,
InputStreamSource dataStream)Fornece os dados de depuração ou de registro associados da invocação de teste.
Precisa ser chamado antes de ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) ou
ERROR(/ITestInvocationListener#invocationEnded(long))
A estrutura TradeFederation chama esse método automaticamente, fornecendo o registro do host e, se aplicável, o logcat do dispositivo.
| Parâmetros | |
|---|---|
dataName |
String: um nome descritivo String dos dados, por exemplo, "device_logcat". Observação: dataName pode não ser exclusivo por invocação. Ou seja, os implementadores precisam ser capazes de processar várias chamadas com o mesmo dataName. |
dataType |
LogDataType: o LogDataType dos dados |
dataStream |
InputStreamSource: o InputStreamSource dos dados. Os implementadores precisam chamar
createInputStream para começar a ler os dados e fechar o
InputStream resultante quando concluído. Os autores da chamada precisam garantir que a origem dos dados permaneça
presente e acessível até que o método testLog seja concluído. |
testModuleEnded
public void testModuleEnded ()
Informa o fim da execução de um módulo.
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
Informa o início da execução de um módulo. Esse callback está associado a testModuleEnded() e é opcional na sequência. Ele só é usado durante uma execução que usa
módulos: executores baseados em suítes.
| Parâmetros | |
|---|---|
moduleContext |
IInvocationContext: o IInvocationContext do módulo. |
testRunEnded
public void testRunEnded (long elapsedTimeMillis,
HashMap<String, MetricMeasurement.Metric> runMetrics)Informa o fim da execução do teste. FIXME: Não podemos ter duas interfaces Map<> com tipos diferentes, então precisamos usar HashMap aqui.
| Parâmetros | |
|---|---|
elapsedTimeMillis |
long: tempo decorrido informado pelo dispositivo, em milissegundos |
runMetrics |
HashMap: pares de chave-valor informados no final de uma execução de teste com Metric. |
testRunFailed
public void testRunFailed (FailureDescription failure)
Não foi possível concluir o teste de execução de relatórios devido a uma falha descrita por FailureDescription.
| Parâmetros | |
|---|---|
failure |
FailureDescription: FailureDescription que descreve a falha e o contexto dela. |
testRunFailed
public void testRunFailed (String errorMessage)
A execução do teste de relatórios não foi concluída devido a um erro fatal.
| Parâmetros | |
|---|---|
errorMessage |
String: String que descreve o motivo da falha na execução. |
testRunStarted
public void testRunStarted (String runName,
int testCount,
int attemptNumber)Informa o início de um teste.
| Parâmetros | |
|---|---|
runName |
String: o nome da execução do teste. |
testCount |
int: número total de testes na execução do teste |
attemptNumber |
int: número do pedido, identificando as diferentes tentativas do mesmo runName
que são executadas várias vezes. O attemptNumber é indexado em 0 e precisa ser incrementado sempre que
uma nova execução acontece. Por exemplo, um teste é repetido granularmente três vezes, ele precisa ter quatro execuções
no mesmo runName, e o attemptNumber é de 0 a 3. |
testRunStarted
public void testRunStarted (String runName,
int testCount)Informa o início de um teste.
| Parâmetros | |
|---|---|
runName |
String: o nome da execução do teste. |
testCount |
int: número total de testes na execução do teste |
testRunStarted
public void testRunStarted (String runName,
int testCount,
int attemptNumber,
long startTime)Informa o início de um teste.
| Parâmetros | |
|---|---|
runName |
String: o nome da execução do teste. |
testCount |
int: número total de testes na execução do teste |
attemptNumber |
int: número do pedido, identificando as diferentes tentativas do mesmo runName
que são executadas várias vezes. O attemptNumber é indexado em 0 e precisa ser incrementado sempre que uma
nova execução acontece. Por exemplo, um teste é repetido granularmente três vezes e precisa ter quatro execuções
no mesmo runName, e o attemptNumber é de 0 a 3. |
startTime |
long: o horário em que a execução começou, medido por System.currentTimeMillis() |
testRunStopped
public void testRunStopped (long elapsedTime)
A execução de teste de relatórios foi interrompida antes da conclusão devido a uma solicitação do usuário.
TODO: atualmente não usado, considere remover
| Parâmetros | |
|---|---|
elapsedTime |
long: tempo decorrido informado pelo dispositivo, em milissegundos |
testSkipped
public void testSkipped (TestDescription test, SkipReason reason)
Chamado quando um teste é ignorado e não é executado por um motivo que geralmente não é esperado. Esses testes serão repetidos para tentar uma execução adequada.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
reason |
SkipReason: SkipReason |
testStarted
public void testStarted (TestDescription test, long startTime)
Alternativa a testStarted(TestDescription) em que também especificamos quando o teste foi
iniciado, combinado com testEnded(TestDescription,long,Map) para uma medição precisa.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
startTime |
long: o horário em que o teste começou, medido por System.currentTimeMillis() |
testStarted
public void testStarted (TestDescription test)
Informa o início de um caso de teste individual. Interface mais antiga. Use testStarted(TestDescription) sempre que possível.
| Parâmetros | |
|---|---|
test |
TestDescription: identifica o teste. |
uploadStoragePath
public void uploadStoragePath (String resourceId,
String storagePath,
LogFile logFile)Faz upload do caminho de armazenamento de um artefato de teste do AnTS para o ResultDB.
Esta é uma solução temporária para a migração do AnTS para o ResultDB (consulte go/convergence-tr). Esse método precisa ser chamado pelo reporter do AnTS quando o caminho de armazenamento de um artefato fica disponível.
O reporter do AnTS garante que vai chamar esse método para cada artefato enviado. Esse
reporter, por sua vez, vai fazer upload de todos esses artefatos para o ResultDB com a associação de teste
correta. Para a associação correta de registros,é necessário que logAssociation(String,LogFile) tenha sido chamado para o mesmo ID de recurso antes. Isso garante que o artefato
já esteja sendo rastreado. Caso contrário, o artefato será associado à unidade de trabalho de nível superior da invocação do tradefed.
Esse método não pode ser chamado antes de invocationStarted(IInvocationContext). Ele
pode ser chamado após invocationEnded(long) para invocações gerenciadas por um sistema
upstream, já que não são finalizadas por este reporter. Isso não se aplica a invocações criadas localmente, que são finalizadas em invocationEnded(long).
TODO(b/464941055): remover esse método quando for possível migrar corretamente os artefatos do AnTS para o ResultDB.
| Parâmetros | |
|---|---|
resourceId |
String: o ID do recurso do artefato. |
storagePath |
String: o caminho de armazenamento do artefato (por exemplo, um caminho /bigstore/). |
logFile |
LogFile: o objeto LogFile associado ao artefato. |