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 testLogSaved(String,LogDataType,InputStreamSource,LogFile).

void setConfiguration(IConfiguration configuration)

Injeta a IConfiguration em uso.

void setLogSaver(ILogSaver logSaver)

Defina ILogSaver para permitir que o implementador salve arquivos.

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 testEnded(TestDescription,Map) em que podemos especificar o horário de término diretamente.

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 FailureDescription.

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 testStarted(TestDescription) em que também especificamos quando o teste foi iniciado, combinado com testEnded(TestDescription,long,Map) para uma medição precisa.

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

mContext

protected IInvocationContext mContext

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.