ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
   ↳ com.android.tradefed.result.CollectingTestListener
     ↳ com.android.tradefed.invoker.ShardListener


호출 샤드 (즉, 여러 리소스에서 병렬로 실행되도록 호출이 분할됨)에서 결과를 수집하고 다른 리스너로 전달하는 ITestInvocationListener

요약

공개 생성자

ShardListener(ITestInvocationListener main)

ShardListener를 만듭니다.

공개 메서드

List<ITestInvocationListener> getUnderlyingResultReporter()
void invocationEnded(long elapsedTime)

호출이 성공적으로 종료되었는지 아니면 오류 조건으로 인해 종료되었는지 보고합니다.

void invocationFailed(FailureDescription failure)

오류 조건으로 인해 불완전한 호출을 보고합니다.

void invocationFailed(Throwable cause)

오류 조건으로 인해 불완전한 호출을 보고합니다.

void invocationSkipped(SkipReason reason)

호출을 건너뛴 것으로 보고합니다.

void invocationStarted(IInvocationContext context)

테스트 호출의 시작을 보고합니다.

void logAssociation(String dataName, LogFile logFile)

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

void setSupportGranularResults(boolean enableGranularResults)
boolean supportGranularResults()

리포터가 세부 결과를 지원하면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

테스트 호출에서 연결된 로그 또는 디버그 데이터를 제공합니다.

void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

void testModuleEnded()

모듈 실행의 끝을 보고합니다.

void testModuleStarted(IInvocationContext moduleContext)

실행 중인 모듈의 시작을 보고합니다.

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

테스트 실행의 종료를 보고합니다.

void testRunFailed(FailureDescription failure)

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

void testRunFailed(String failureMessage)

심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다.

void testRunStarted(String name, int numTests, int attemptNumber, long startTime)

테스트 실행 시작을 보고합니다.

공개 생성자

ShardListener

public ShardListener (ITestInvocationListener main)

ShardListener를 만듭니다.

매개변수
main ITestInvocationListener: 결과를 전달해야 하는 ITestInvocationListener입니다. 다른 ShardListener와의 충돌을 방지하기 위해 이 객체는 결과를 전달할 때 main에서 동기화됩니다. 결과는 호출 샤드가 완료된 후에만 전송됩니다.

공개 메서드

getUnderlyingResultReporter

public List<ITestInvocationListener> getUnderlyingResultReporter ()

반환
List<ITestInvocationListener>

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: 호출에 관한 정보

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

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

매개변수
dataName String: 데이터의 이름

logFile LogFile: 이전에 로깅되었으며 테스트 사례와 연결되어야 하는 LogFile입니다.

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

매개변수
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

리포터가 세부 결과를 지원하면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

반환
boolean

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 메서드가 완료될 때까지 데이터 소스가 표시되고 액세스 가능하도록 해야 합니다.

testLogSaved

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

매개변수
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

모듈 실행의 끝을 보고합니다.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

실행 중인 모듈의 시작을 보고합니다. 이 콜백은 testModuleEnded()와 연결되어 있으며 시퀀스에서 선택사항입니다. 모듈을 사용하는 실행(스위트 기반 러너) 중에만 사용됩니다.

매개변수
moduleContext IInvocationContext: 모듈의 IInvocationContext입니다.

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

테스트 실행의 종료를 보고합니다. FIXME: 유형이 다른 Map<> 인터페이스 두 개를 사용할 수 없으므로 여기서는 HashMap을 사용해야 합니다.

매개변수
elapsedTime long: 기기에서 보고한 경과 시간(밀리초)

runMetrics HashMap: Metric로 테스트 실행이 끝날 때 보고되는 키-값 쌍입니다.

testRunFailed

public void testRunFailed (FailureDescription failure)

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

매개변수
failure FailureDescription: 실패 및 컨텍스트를 설명하는 FailureDescription입니다.

testRunFailed

public void testRunFailed (String failureMessage)

심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다.

매개변수
failureMessage String: 실행 실패 이유를 설명하는 String입니다.

testRunStarted

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

테스트 실행 시작을 보고합니다.

매개변수
name String: 테스트 실행 이름

numTests int: 테스트 실행의 총 테스트 수

attemptNumber int: 동일한 runName의 여러 시도를 식별하는 주문 번호입니다. attemptNumber는 0부터 시작하며 새 실행이 발생할 때마다 증가해야 합니다. 예를 들어 테스트가 상세하게 3번 재시도되면 동일한 runName 아래에 총 4번의 실행이 있어야 하며 attemptNumber는 0~3입니다.

startTime long: System.currentTimeMillis()을 통해 측정된 실행 시작 시간