BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.BugreportCollector


Um ITestInvocationListener de passagem que coleta relatórios de bugs quando eventos configuráveis ocorrem e chama ITestInvocationListener.testLog nos filhos depois que cada relatório de bug é coletado.

Comportamentos: (FIXME: finish this)

  • Capturar após cada caso de teste com falha
  • Capturar após cada caso de teste
  • Capturar após cada caso de teste com falha
  • Capturar

Resumo

Classes aninhadas

class BugreportCollector.Predicate

Um predicado completo que descreve quando capturar um bugreport. 

interface BugreportCollector.SubPredicate

 

Campos

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Um predicado predefinido que é disparado após cada caso de teste com falha.

public static final BugreportCollector.Predicate AT_START

Um predicado predefinido que é disparado quando a primeira invocação começa.

Construtores públicos

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

Métodos públicos

void addPredicate(BugreportCollector.Predicate p)
void blockUntilIdle()

Bloqueia até que o coletor não esteja coletando relatórios de bugs.

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(Throwable cause)

Informa uma invocação incompleta devido a alguma condição de erro.

void invocationStarted(IInvocationContext context)

Informa o início da invocação do teste.

void setAsynchronous(boolean asynchronous)

Define se a coleta de relatório de bugs deve coletar o relatório em uma linha de execução diferente (asynchronous = true) ou bloquear o autor da chamada até que o relatório seja capturado (asynchronous = false).

void setDescriptiveName(String name)

Defina o nome descritivo a ser usado ao gravar relatórios de bugs.

void setDeviceWaitTime(int waitTime)

Defina o tempo (em segundos) que o sistema deve esperar para que o dispositivo fique on-line antes de tentar capturar um relatório de bug.

void testAssumptionFailure(TestDescription test, String trace)

Chamado quando um teste atômico sinaliza que ele pressupõe uma condição falsa.

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, 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 testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

Informa o fim da execução do teste.

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)

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 testStarted(TestDescription test)

Informa o início de um caso de teste individual.

Campos

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

Um predicado predefinido que é disparado após cada caso de teste com falha.

AT_START

public static final BugreportCollector.Predicate AT_START

Um predicado predefinido que é disparado quando a primeira invocação começa.

Construtores públicos

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

Parâmetros
listener ITestInvocationListener

testDevice ITestDevice

Métodos públicos

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

Parâmetros
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

Bloqueia até que o coletor não esteja coletando relatórios de bugs. Se o coletor não estiver coletando um bugreport ativamente, retorne imediatamente

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

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

setAsynchronous

public void setAsynchronous (boolean asynchronous)

Define se a coleta de bugreport deve coletar o bugreport em uma linha de execução diferente (asynchronous = true) ou bloquear o autor da chamada até que o bugreport seja capturado (asynchronous = false).

Parâmetros
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

Defina o nome descritivo a ser usado ao gravar relatórios de bugs. Se null, BugreportCollector vai voltar ao comportamento padrão de serializar o nome do evento que causou a coleta do relatório de bug.

Parâmetros
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

Defina o tempo (em segundos) que o sistema deve esperar para que o dispositivo fique on-line antes de tentar capturar um relatório de bug. Se for negativo, nenhuma verificação será realizada. Qualquer DeviceNotAvailableException encontrado durante essa verificação será registrado e ignorado.

Parâmetros
waitTime int

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

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

testRunEnded

public void testRunEnded (long elapsedTime, 
                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
elapsedTime 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 (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)

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

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

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.