BugreportCollector
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
java.lang.Object | |
↳ | com.android.tradefed.result.BugreportCollector |
구성 가능한 이벤트가 발생할 때 버그 신고를 수집한 후 각 버그 신고가 수집된 후에 하위 요소에서 ITestInvocationListener.testLog
를 호출하는 패스 스루 ITestInvocationListener
입니다.
동작: (FIXME: 완료)
- 테스트 사례가 실패한 경우 각각 캡처
- 각 테스트 사례 후 캡처
- 각 실패한 테스트 사례 후 캡처
- 캡처
요약
중첩된 클래스 | |
---|---|
class |
BugreportCollector.Predicate
버그 신고를 캡처할 시기를 설명하는 전체 조건자입니다. |
interface |
BugreportCollector.SubPredicate
|
필드 | |
---|---|
public
static
final
BugreportCollector.Predicate |
AFTER_FAILED_TESTCASES
각 실패한 테스트 사례 후에 실행되는 사전 정의된 조건자 |
public
static
final
BugreportCollector.Predicate |
AT_START
첫 번째 호출이 시작될 때 실행되는 사전 정의된 조건자 |
공개 생성자 | |
---|---|
BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)
|
공개 메서드 | |
---|---|
void
|
addPredicate(BugreportCollector.Predicate p)
|
void
|
blockUntilIdle()
수집기가 버그 신고를 수집하지 않을 때까지 차단합니다. |
TestSummary
|
getSummary()
InvocationListener가 요약을 반환하도록 허용합니다. |
void
|
invocationEnded(long elapsedTime)
호출이 성공적으로 종료되었는지 또는 일부 오류 조건으로 인해 종료되었는지 보고합니다. |
void
|
invocationFailed(Throwable cause)
일부 오류 조건으로 인해 불완전한 호출을 보고합니다. |
void
|
invocationStarted(IInvocationContext context)
테스트 호출 시작을 보고합니다. |
void
|
setAsynchronous(boolean asynchronous)
버그 신고 수집이 다른 스레드에서 버그 신고를 수집해야 하는지( |
void
|
setDescriptiveName(String name)
버그 신고를 기록할 때 사용할 설명이 포함된 이름을 설정합니다. |
void
|
setDeviceWaitTime(int waitTime)
버그 신고를 캡처하기 전에 기기가 온라인 상태가 될 때까지 기다릴 시간 (초)을 설정합니다. |
void
|
testAssumptionFailure(TestDescription test, String trace)
원자 테스트에서 거짓인 조건을 가정한다고 플래그를 지정할 때 호출됩니다. |
void
|
testEnded(TestDescription test,
개별 테스트 사례의 실행 종료를 보고합니다. |
void
|
testFailed(TestDescription test, String trace)
개별 테스트 사례의 실패를 보고합니다. |
void
|
testIgnored(TestDescription test)
테스트가 실행되지 않을 때 호출됩니다(일반적으로 테스트 메서드에 org.junit.Ignore 주석이 추가되어 있기 때문). |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
테스트 호출에서 연결된 로그 또는 디버그 데이터를 제공합니다. |
void
|
testRunEnded(long elapsedTime,
테스트 실행 종료를 보고합니다. |
void
|
testRunFailed(String errorMessage)
심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다. |
void
|
testRunStarted(String runName, int testCount)
테스트 실행 시작을 보고합니다. |
void
|
testRunStopped(long elapsedTime)
사용자 요청으로 인해 보고서 테스트 실행이 완료되기 전에 중지되었습니다. |
void
|
testStarted(TestDescription test)
개별 테스트 사례의 시작을 보고합니다. |
필드
AFTER_FAILED_TESTCASES
public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES
각 실패한 테스트 사례 후에 실행되는 사전 정의된 조건자
공개 생성자
BugreportCollector
public BugreportCollector (ITestInvocationListener listener, ITestDevice testDevice)
매개변수 | |
---|---|
listener |
ITestInvocationListener |
testDevice |
ITestDevice |
공개 메서드
addPredicate
public void addPredicate (BugreportCollector.Predicate p)
매개변수 | |
---|---|
p |
BugreportCollector.Predicate |
blockUntilIdle
public void blockUntilIdle ()
수집기가 버그 신고를 수집하지 않을 때까지 차단합니다. 수집기가 버그 신고를 수집하고 있지 않으면 즉시 반환
getSummary
public TestSummary getSummary ()
InvocationListener가 요약을 반환하도록 허용합니다.
반환 값 | |
---|---|
TestSummary |
실행을 요약하는 TestSummary 또는 null |
invocationEnded
public void invocationEnded (long elapsedTime)
호출이 성공적으로 종료되었는지 또는 일부 오류 조건으로 인해 종료되었는지 보고합니다.
TradeFederation 프레임워크에서 자동으로 호출됩니다.
매개변수 | |
---|---|
elapsedTime |
long : 호출에 걸린 경과 시간(밀리초) |
invocationFailed
public void invocationFailed (Throwable cause)
일부 오류 조건으로 인해 불완전한 호출을 보고합니다.
TradeFederation 프레임워크에서 자동으로 호출됩니다.
매개변수 | |
---|---|
cause |
Throwable : 실패의 Throwable 원인입니다. |
invocationStarted
public void invocationStarted (IInvocationContext context)
테스트 호출 시작을 보고합니다.
TradeFederation 프레임워크에서 자동으로 호출됩니다. 여러 기기 보고를 지원하려면 보고자가 이 메서드를 재정의해야 합니다.
매개변수 | |
---|---|
context |
IInvocationContext : 호출에 관한 정보 |
setAsynchronous
public void setAsynchronous (boolean asynchronous)
버그 신고 수집이 다른 스레드에서 버그 신고를 수집해야 하는지(asynchronous = true
) 또는 버그 신고가 캡처될 때까지 호출자를 차단해야 하는지(asynchronous = false
) 설정합니다.
매개변수 | |
---|---|
asynchronous |
boolean |
setDescriptiveName
public void setDescriptiveName (String name)
버그 신고를 기록할 때 사용할 설명이 포함된 이름을 설정합니다. null
인 경우 BugreportCollector
은 버그 신고가 수집된 원인이 된 이벤트의 이름을 직렬화하는 기본 동작으로 대체됩니다.
매개변수 | |
---|---|
name |
String |
setDeviceWaitTime
public void setDeviceWaitTime (int waitTime)
버그 신고를 캡처하기 전에 기기가 온라인 상태가 될 때까지 기다릴 시간 (초)을 설정합니다. 값이 음수이면 검사가 실행되지 않습니다. 이 검사 중에 발견된 DeviceNotAvailableException
는 로깅되고 무시됩니다.
매개변수 | |
---|---|
waitTime |
int |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
원자 테스트에서 거짓인 조건을 가정한다고 플래그를 지정할 때 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
trace |
String : 실패의 스택 트레이스 |
testEnded
public void testEnded (TestDescription test,testMetrics)
개별 테스트 사례의 실행 종료를 보고합니다.
testFailed(TestDescription, FailureDescription)
이 호출되지 않았다면 이 테스트는 통과한 것입니다. 또한 테스트 사례 실행 중에 내보냈을 수 있는 모든 키-값 측정항목도 반환합니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
testMetrics |
: 내보낸 측정항목의 ERROR(/Map) 입니다. |
testFailed
public void testFailed (TestDescription test, String trace)
개별 테스트 사례의 실패를 보고합니다.
testStarted와 testEnded 사이에서 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
trace |
String : 실패의 스택 트레이스 |
testIgnored
public void testIgnored (TestDescription test)
테스트가 실행되지 않을 때 호출됩니다(일반적으로 테스트 메서드에 org.junit.Ignore 주석이 추가되어 있기 때문).
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
testLog
public void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
테스트 호출에서 연결된 로그 또는 디버그 데이터를 제공합니다.
ERROR(/ITestInvocationListener#invocationFailed(Throwable))
또는 ERROR(/ITestInvocationListener#invocationEnded(long))
전에 호출해야 합니다.
TradeFederation 프레임워크는 이 메서드를 자동으로 호출하여 호스트 로그와 해당하는 경우 기기 logcat을 제공합니다.
매개변수 | |
---|---|
dataName |
String : 데이터의 String 설명 이름입니다(예: 'device_logcat'). 참고: dataName은 호출마다 고유하지 않을 수 있습니다. 즉, 구현자는 동일한 dataName으로 여러 호출을 처리할 수 있어야 합니다. |
dataType |
LogDataType : 데이터의 LogDataType |
dataStream |
InputStreamSource : 데이터의 InputStreamSource 입니다. 구현자는 createInputStream을 호출하여 데이터 읽기를 시작하고 완료되면 생성된 InputStream을 닫아야 합니다. 호출자는 testLog 메서드가 완료될 때까지 데이터 소스가 계속 존재하고 액세스할 수 있는지 확인해야 합니다. |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
테스트 실행 종료를 보고합니다.
매개변수 | |
---|---|
elapsedTime |
long : 기기에서 보고한 경과 시간(밀리초) |
runMetrics |
: 테스트 실행이 끝날 때 보고되는 키-값 쌍 |
testRunFailed
public void testRunFailed (String errorMessage)
심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다.
매개변수 | |
---|---|
errorMessage |
String : 실행 실패 이유를 설명하는 String 입니다. |
testRunStarted
public void testRunStarted (String runName, int testCount)
테스트 실행 시작을 보고합니다.
매개변수 | |
---|---|
runName |
String : 테스트 실행 이름 |
testCount |
int : 테스트 실행의 총 테스트 수 |
testRunStopped
public void testRunStopped (long elapsedTime)
사용자 요청으로 인해 보고서 테스트 실행이 완료되기 전에 중지되었습니다.
TODO: 현재 사용되지 않으며 삭제해도 될 듯
매개변수 | |
---|---|
elapsedTime |
long : 기기에서 보고한 경과 시간(밀리초) |
testStarted
public void testStarted (TestDescription test)
개별 테스트 사례의 시작을 보고합니다. 이전 인터페이스이며 가능하면 testStarted(com.android.tradefed.result.TestDescription)
을 사용해야 합니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |