BugreportCollector
public
class
BugreportCollector
extends Object
implements
ITestInvocationListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.BugreportCollector |
구성 가능한 이벤트가 발생할 때 bugreport를 수집한 후 각 bugreport가 수집된 후 하위 요소에서 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, HashMap<String, MetricMeasurement.Metric> testMetrics)
개별 테스트 사례의 실행 종료를 보고합니다. |
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, HashMap<String, MetricMeasurement.Metric> runMetrics)
테스트 실행의 종료를 보고합니다. |
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
실패한 각 테스트 사례 후에 실행되는 사전 정의된 프레디케이트
AT_START
public static final BugreportCollector.Predicate AT_START
첫 번째 호출이 시작될 때 실행되는 사전 정의된 프레디케이트
공개 생성자
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, HashMap<String, MetricMeasurement.Metric> testMetrics)
개별 테스트 사례의 실행 종료를 보고합니다.
testFailed(TestDescription, FailureDescription)가 호출되지 않았다면 이 테스트는 통과입니다. 테스트 사례 실행 중에 발생했을 수 있는 키/값 측정항목도 반환합니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
testMetrics |
HashMap: 내보낸 측정항목의 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)/ITestInvocationListener#invocationFailed(java.lang.Throwable) 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,
HashMap<String, MetricMeasurement.Metric> runMetrics)테스트 실행의 종료를 보고합니다. FIXME: 유형이 다른 Map<> 인터페이스 두 개를 사용할 수 없으므로 여기서는 HashMap을 사용해야 합니다.
| 매개변수 | |
|---|---|
elapsedTime |
long: 기기에서 보고한 경과 시간(밀리초) |
runMetrics |
HashMap: Metric로 테스트 실행이 끝날 때 보고되는 키-값 쌍입니다. |
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(TestDescription)을 사용해야 합니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |