ResultDBReporter
public
class
ResultDBReporter
extends Object
implements
IConfigurationReceiver,
ILogSaverListener,
ISupportGranularResults,
ITestSummaryListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.resultdb.ResultDBReporter |
테스트 결과를 ResultDB에 업로드하는 결과 보고자
요약
필드 | |
|---|---|
protected
IInvocationContext |
mContext
|
protected
boolean |
mEnableAlTestProperties
|
공개 생성자 | |
|---|---|
ResultDBReporter()
|
|
공개 메서드 | |
|---|---|
TestSummary
|
getSummary()
InvocationListener가 요약을 반환하도록 허용합니다. |
void
|
invocationEnded(long elapsedTime)
호출이 성공적으로 종료되었는지 아니면 오류 조건으로 인해 종료되었는지 보고합니다. |
void
|
invocationFailed(FailureDescription failure)
오류 조건으로 인해 불완전한 호출을 보고합니다. |
void
|
invocationFailed(Throwable cause)
오류 조건으로 인해 불완전한 호출을 보고합니다. |
void
|
invocationSkipped(SkipReason reason)
호출을 건너뛴 것으로 보고합니다. |
void
|
invocationStarted(IInvocationContext context)
테스트 호출의 시작을 보고합니다. |
boolean
|
isDisabled()
|
void
|
logAssociation(String dataName, LogFile logFile)
경우에 따라 로그가 테스트 사례와 강력하게 연결되어야 하지만 직접 |
void
|
setConfiguration(IConfiguration configuration)
사용 중인 |
void
|
setLogSaver(ILogSaver logSaver)
구현자가 파일을 저장할 수 있도록 |
boolean
|
supportGranularResults()
리포터가 세부 결과를 지원하면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
void
|
testAssumptionFailure(TestDescription test, String trace)
원자 테스트에서 거짓인 조건을 가정한다고 표시할 때 호출됩니다. |
void
|
testAssumptionFailure(TestDescription test, FailureDescription failure)
원자 테스트에서 거짓인 조건을 가정한다고 표시할 때 호출됩니다. |
void
|
testEnded(TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
종료 시간을 직접 지정할 수 있는 |
void
|
testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
개별 테스트 사례의 실행 종료를 보고합니다. |
void
|
testFailed(TestDescription test, FailureDescription failure)
개별 테스트 사례의 실패를 보고합니다. |
void
|
testFailed(TestDescription test, String trace)
개별 테스트 사례의 실패를 보고합니다. |
void
|
testIgnored(TestDescription test)
테스트가 실행되지 않을 때 호출됩니다. 일반적으로 테스트 메서드에 org.junit.Ignore가 주석으로 달려 있기 때문입니다. |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
테스트 호출에서 연결된 로그 또는 디버그 데이터를 제공합니다. |
void
|
testModuleEnded()
모듈 실행의 끝을 보고합니다. |
void
|
testModuleStarted(IInvocationContext moduleContext)
실행 중인 모듈의 시작을 보고합니다. |
void
|
testRunEnded(long elapsedTimeMillis, HashMap<String, MetricMeasurement.Metric> runMetrics)
테스트 실행의 종료를 보고합니다. |
void
|
testRunFailed(FailureDescription failure)
|
void
|
testRunFailed(String errorMessage)
심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다. |
void
|
testRunStarted(String runName, int testCount, int attemptNumber)
테스트 실행 시작을 보고합니다. |
void
|
testRunStarted(String runName, int testCount)
테스트 실행 시작을 보고합니다. |
void
|
testRunStarted(String runName, int testCount, int attemptNumber, long startTime)
테스트 실행 시작을 보고합니다. |
void
|
testRunStopped(long elapsedTime)
사용자 요청으로 인해 테스트 실행이 완료되기 전에 중지되었다고 보고합니다. |
void
|
testSkipped(TestDescription test, SkipReason reason)
테스트가 건너뛰고 일반적으로 예상되지 않는 이유로 실행되지 않은 경우 호출됩니다. |
void
|
testStarted(TestDescription test, long startTime)
테스트가 시작된 시점도 지정하는 |
void
|
testStarted(TestDescription test)
개별 테스트 사례의 시작을 보고합니다. |
void
|
uploadStoragePath(String resourceId, String storagePath, LogFile logFile)
AnTS 테스트 아티팩트의 저장소 경로를 ResultDB에 업로드합니다. |
필드
mEnableAlTestProperties
protected boolean mEnableAlTestProperties
공개 생성자
ResultDBReporter
public ResultDBReporter ()
공개 메서드
getSummary
public TestSummary getSummary ()
InvocationListener가 요약을 반환하도록 허용합니다.
| 반환 | |
|---|---|
TestSummary |
실행을 요약하는 TestSummary 또는 null |
invocationEnded
public void invocationEnded (long elapsedTime)
호출이 성공적으로 종료되었는지 아니면 오류 조건으로 인해 종료되었는지 보고합니다.
TradeFederation 프레임워크에 의해 자동으로 호출됩니다.
| 매개변수 | |
|---|---|
elapsedTime |
long: 호출의 경과 시간(밀리초) |
invocationFailed
public void invocationFailed (FailureDescription failure)
오류 조건으로 인해 불완전한 호출을 보고합니다.
TradeFederation 프레임워크에 의해 자동으로 호출됩니다.
| 매개변수 | |
|---|---|
failure |
FailureDescription: 실패 원인을 설명하는 FailureDescription |
invocationFailed
public void invocationFailed (Throwable cause)
오류 조건으로 인해 불완전한 호출을 보고합니다.
TradeFederation 프레임워크에 의해 자동으로 호출됩니다.
| 매개변수 | |
|---|---|
cause |
Throwable: 실패의 Throwable 원인 |
invocationSkipped
public void invocationSkipped (SkipReason reason)
호출을 건너뛴 것으로 보고합니다.
| 매개변수 | |
|---|---|
reason |
SkipReason |
invocationStarted
public void invocationStarted (IInvocationContext context)
테스트 호출의 시작을 보고합니다.
TradeFederation 프레임워크에 의해 자동으로 호출됩니다. 리포터는 여러 기기 보고를 지원하기 위해 이 메서드를 재정의해야 합니다.
| 매개변수 | |
|---|---|
context |
IInvocationContext: 호출에 관한 정보 |
isDisabled
public boolean isDisabled ()
| 반환 | |
|---|---|
boolean |
|
logAssociation
public void logAssociation (String dataName,
LogFile logFile)경우에 따라 로그가 테스트 사례와 강력하게 연결되어야 하지만 직접 testLogSaved(String,LogDataType,InputStreamSource,LogFile) 콜백에서 이렇게 할 수는 없습니다. 따라서 이 콜백을 사용하면 강력한 연결을 명시적으로 제공할 수 있습니다.
| 매개변수 | |
|---|---|
dataName |
String: 데이터의 이름 |
logFile |
LogFile: 이전에 로깅되었으며 테스트 사례와 연결되어야 하는 LogFile입니다. |
setConfiguration
public void setConfiguration (IConfiguration configuration)
사용 중인 IConfiguration을 삽입합니다.
| 매개변수 | |
|---|---|
configuration |
IConfiguration |
setLogSaver
public void setLogSaver (ILogSaver logSaver)
구현자가 파일을 저장할 수 있도록 ILogSaver를 설정합니다.
| 매개변수 | |
|---|---|
logSaver |
ILogSaver: ILogSaver |
supportGranularResults
public boolean supportGranularResults ()
리포터가 세부 결과를 지원하면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
| 반환 | |
|---|---|
boolean |
|
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
원자 테스트에서 거짓인 조건을 가정한다고 표시할 때 호출됩니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
trace |
String: 실패의 스택 트레이스 |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
원자 테스트에서 거짓인 조건을 가정한다고 표시할 때 호출됩니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
failure |
FailureDescription: 실패 및 컨텍스트를 설명하는 FailureDescription입니다. |
testEnded
public void testEnded (TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
종료 시간을 직접 지정할 수 있는 testEnded(TestDescription,Map)의 대안입니다. 정확한 측정을 위해 testStarted(TestDescription,long)와 결합하세요.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
endTime |
long: 테스트가 종료된 시간입니다(System.currentTimeMillis()을 통해 측정됨). |
testMetrics |
HashMap: 내보낸 측정항목의 Map |
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, FailureDescription failure)
개별 테스트 사례의 실패를 보고합니다.
testStarted와 testEnded 사이에 호출됩니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
failure |
FailureDescription: 실패 및 컨텍스트를 설명하는 FailureDescription입니다. |
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 메서드가 완료될 때까지 데이터 소스가 표시되고 액세스 가능하도록 해야 합니다. |
testModuleEnded
public void testModuleEnded ()
모듈 실행의 끝을 보고합니다.
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
실행 중인 모듈의 시작을 보고합니다. 이 콜백은 testModuleEnded()와 연결되어 있으며 시퀀스에서 선택사항입니다. 모듈을 사용하는 실행(스위트 기반 러너) 중에만 사용됩니다.
| 매개변수 | |
|---|---|
moduleContext |
IInvocationContext: 모듈의 IInvocationContext입니다. |
testRunEnded
public void testRunEnded (long elapsedTimeMillis,
HashMap<String, MetricMeasurement.Metric> runMetrics)테스트 실행의 종료를 보고합니다. FIXME: 유형이 다른 Map<> 인터페이스 두 개를 사용할 수 없으므로 여기서는 HashMap을 사용해야 합니다.
| 매개변수 | |
|---|---|
elapsedTimeMillis |
long: 기기에서 보고한 경과 시간(밀리초) |
runMetrics |
HashMap: Metric로 테스트 실행이 끝날 때 보고되는 키-값 쌍입니다. |
testRunFailed
public void testRunFailed (FailureDescription failure)
FailureDescription에 설명된 실패로 인해 테스트 실행이 완료되지 않았다고 보고합니다.
| 매개변수 | |
|---|---|
failure |
FailureDescription: 실패 및 컨텍스트를 설명하는 FailureDescription입니다. |
testRunFailed
public void testRunFailed (String errorMessage)
심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다.
| 매개변수 | |
|---|---|
errorMessage |
String: 실행 실패 이유를 설명하는 String입니다. |
testRunStarted
public void testRunStarted (String runName,
int testCount,
int attemptNumber)테스트 실행 시작을 보고합니다.
| 매개변수 | |
|---|---|
runName |
String: 테스트 실행 이름 |
testCount |
int: 테스트 실행의 총 테스트 수 |
attemptNumber |
int: 동일한 runName의 여러 시도를 식별하는 주문 번호입니다. attemptNumber는 0부터 시작하며 새 실행이 발생할 때마다 증가해야 합니다. 예를 들어 테스트가 상세하게 3번 재시도되면 동일한 runName 아래에 총 4번의 실행이 있어야 하며 attemptNumber는 0~3입니다. |
testRunStarted
public void testRunStarted (String runName,
int testCount)테스트 실행 시작을 보고합니다.
| 매개변수 | |
|---|---|
runName |
String: 테스트 실행 이름 |
testCount |
int: 테스트 실행의 총 테스트 수 |
testRunStarted
public void testRunStarted (String runName,
int testCount,
int attemptNumber,
long startTime)테스트 실행 시작을 보고합니다.
| 매개변수 | |
|---|---|
runName |
String: 테스트 실행 이름 |
testCount |
int: 테스트 실행의 총 테스트 수 |
attemptNumber |
int: 동일한 runName의 여러 시도를 식별하는 주문 번호입니다. attemptNumber는 0부터 시작하며 새 실행이 발생할 때마다 증가해야 합니다. 예를 들어 테스트가 상세하게 3번 재시도되면 동일한 runName 아래에 총 4번의 실행이 있어야 하며 attemptNumber는 0~3입니다. |
startTime |
long: System.currentTimeMillis()을 통해 측정된 실행 시작 시간 |
testRunStopped
public void testRunStopped (long elapsedTime)
사용자 요청으로 인해 테스트 실행이 완료되기 전에 중지되었다고 보고합니다.
TODO: 현재 사용되지 않음, 삭제 고려
| 매개변수 | |
|---|---|
elapsedTime |
long: 기기에서 보고한 경과 시간(밀리초) |
testSkipped
public void testSkipped (TestDescription test, SkipReason reason)
테스트가 건너뛰고 일반적으로 예상되지 않는 이유로 실행되지 않은 경우 호출됩니다. 이러한 테스트는 적절한 실행을 위해 다시 시도됩니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
reason |
SkipReason: SkipReason |
testStarted
public void testStarted (TestDescription test, long startTime)
테스트가 시작된 시점도 지정하는 testStarted(TestDescription)의 대안으로, 정확한 측정을 위해 testEnded(TestDescription,long,Map)와 결합됩니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
startTime |
long: 테스트가 시작된 시간입니다(System.currentTimeMillis()을 통해 측정됨). |
testStarted
public void testStarted (TestDescription test)
개별 테스트 사례의 시작을 보고합니다. 이전 인터페이스로, 가능하면 testStarted(TestDescription)을 사용해야 합니다.
| 매개변수 | |
|---|---|
test |
TestDescription: 테스트를 식별합니다. |
uploadStoragePath
public void uploadStoragePath (String resourceId,
String storagePath,
LogFile logFile)AnTS 테스트 아티팩트의 저장소 경로를 ResultDB에 업로드합니다.
이는 AnTS에서 ResultDB로의 이전 (go/convergence-tr 참고)을 위한 임시 솔루션입니다. 이 메서드는 아티팩트의 저장소 경로를 사용할 수 있게 되면 AnTS 리포터에 의해 호출되어야 합니다.
AnTS 리포터는 업로드하는 모든 아티팩트에 대해 이 메서드를 호출합니다. 이 보고자는 올바른 테스트 연결과 함께 이러한 모든 아티팩트를 ResultDB에 업로드합니다. 올바른 로그 연결을 위해서는 이전에 동일한 리소스 ID에 대해 logAssociation(String,LogFile)가 호출되어야 합니다. 이렇게 하면 아티팩트가 이미 추적됩니다. 그렇지 않으면 아티팩트가 tradefed 호출의 최상위 작업 단위와 연결됩니다.
이 메서드는 invocationStarted(IInvocationContext) 전에 호출하면 안 됩니다. 이 리포터에서 완료되지 않으므로 업스트림 시스템에서 관리하는 호출의 경우 invocationEnded(long) 후에 호출할 수 있습니다. invocationEnded(long)에서 완료되는 로컬로 생성된 호출에는 적용되지 않습니다.
TODO(b/464941055): AnTS 아티팩트를 ResultDB로 적절하게 이전할 수 있게 되면 이 메서드를 삭제합니다.
| 매개변수 | |
|---|---|
resourceId |
String: 아티팩트의 리소스 ID입니다. |
storagePath |
String: 아티팩트의 저장소 경로입니다 (예: /bigstore/ 경로). |
logFile |
LogFile: 아티팩트와 연결된 LogFile 객체입니다. |