Coletor de relatórios de bugs
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 depois de cada caso de teste
- Capturar após cada teste de caso com falha
- Gravar
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 é acionado após cada teste com falha |
public
static
final
BugreportCollector.Predicate |
AT_START
Um predicado predefinido que é acionado 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 colete mais 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)
Defina se a coleta de relatórios de bugs precisa coletar o relatório em uma linha de execução diferente
( |
void
|
setDescriptiveName(String name)
Define o nome descritivo a ser usado ao registrar relatórios de bugs. |
void
|
setDeviceWaitTime(int waitTime)
Define o tempo (em segundos) de espera para que o dispositivo esteja on-line antes de tentar capturar um bugreport. |
void
|
testAssumptionFailure(TestDescription test, String trace)
Chamada quando um teste atômico sinaliza que assume uma condição falsa |
void
|
testEnded(TestDescription test,
Informa o término 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 registro ou depuração associados à invocação do teste. |
void
|
testRunEnded(long elapsedTime,
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 uma execução de teste. |
void
|
testRunStopped(long elapsedTime)
A execução do 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 é acionado após cada teste com falha
AT_INÍCIO
public static final BugreportCollector.Predicate AT_START
Um predicado predefinido que é acionado quando a primeira invocação começa
Construtores públicos
Coletor de relatórios de bugs
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 colete mais relatórios de bugs. Se o coletor não estiver coletando ativamente um relatório de bug, 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 da 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 pelo framework 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 pelo framework TradeFederation. Os repórteres precisam substituir esse método para oferecer suporte a vários dispositivos.
Parâmetros | |
---|---|
context |
IInvocationContext : informações sobre a invocação |
setAsynchronous
public void setAsynchronous (boolean asynchronous)
Defina se a coleta de relatórios de bugs precisa coletar o relatório em uma linha de execução diferente
(asynchronous = true
) ou bloqueie o autor da chamada até que o relatório seja capturado
(asynchronous = false
).
Parâmetros | |
---|---|
asynchronous |
boolean |
setDescriptiveName
public void setDescriptiveName (String name)
Defina o nome descritivo que será usado ao gravar relatórios de bugs. Se null
,
BugreportCollector
vai retornar ao comportamento padrão de serialização do nome do
evento que causou a coleta do bugreport.
Parâmetros | |
---|---|
name |
String |
setDeviceWaitTime
public void setDeviceWaitTime (int waitTime)
Define o tempo (em segundos) de espera para que o dispositivo esteja on-line antes de tentar capturar um
bugreport. 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)
Chamada quando um teste atômico sinaliza que assume uma condição falsa
Parâmetros | |
---|---|
test |
TestDescription : identifica o teste |
trace |
String : stack trace de falha |
testEnded
public void testEnded (TestDescription test,testMetrics)
Informa o final da execução de um caso de teste individual.
Se testFailed(TestDescription, FailureDescription)
não foi invocado, o teste foi aprovado. Também retorna 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 |
: uma ERROR(/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 de 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 registro ou depuração associados à invocação do teste.
Precisa ser chamado antes de ERROR(/ITestInvocationListener#invocationFailed(Throwable))
ou
ERROR(/ITestInvocationListener#invocationEnded(long))
.
O framework TradeFederation vai chamar esse método automaticamente, fornecendo o registro do host e, se aplicável, o logcat do dispositivo.
Parâmetros | |
---|---|
dataName |
String : um nome descritivo de 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 garantir que o InputStream
resultante seja fechado 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,runMetrics)
Informa o fim da execução do teste.
Parâmetros | |
---|---|
elapsedTime |
long : tempo decorrido informado pelo dispositivo, em milissegundos. |
runMetrics |
: pares de chave-valor informados no final de um teste. |
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 descrevendo o motivo da falha na execução. |
testRunStarted
public void testRunStarted (String runName, int testCount)
Informa o início de uma execução de 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)
Informa que a execução do teste 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(com.android.tradefed.result.TestDescription)
sempre que possível.
Parâmetros | |
---|---|
test |
TestDescription : identifica o teste |