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)

경우에 따라 로그가 테스트 사례와 강력하게 연결되어야 하지만 직접 testLogSaved(String,LogDataType,InputStreamSource,LogFile) 콜백에서 이렇게 할 수는 없습니다.

void setConfiguration(IConfiguration configuration)

사용 중인 IConfiguration을 삽입합니다.

void setLogSaver(ILogSaver logSaver)

구현자가 파일을 저장할 수 있도록 ILogSaver를 설정합니다.

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)

종료 시간을 직접 지정할 수 있는 testEnded(TestDescription,Map)의 대안입니다.

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)

FailureDescription에 설명된 실패로 인해 테스트 실행이 완료되지 않았다고 보고합니다.

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)

테스트가 시작된 시점도 지정하는 testStarted(TestDescription)의 대안으로, 정확한 측정을 위해 testEnded(TestDescription,long,Map)와 결합됩니다.

void testStarted(TestDescription test)

개별 테스트 사례의 시작을 보고합니다.

void uploadStoragePath(String resourceId, String storagePath, LogFile logFile)

AnTS 테스트 아티팩트의 저장소 경로를 ResultDB에 업로드합니다.

필드

mContext

protected IInvocationContext mContext

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 객체입니다.