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)

버그 신고 수집이 다른 스레드에서 버그 신고를 수집해야 하는지(asynchronous = true) 또는 버그 신고가 캡처될 때까지 호출자를 차단해야 하는지(asynchronous = false) 설정합니다.

void setDescriptiveName(String name)

버그 신고를 기록할 때 사용할 설명이 포함된 이름을 설정합니다.

void setDeviceWaitTime(int waitTime)

버그 신고를 캡처하기 전에 기기가 온라인 상태가 될 때까지 기다릴 시간 (초)을 설정합니다.

void testAssumptionFailure(TestDescription test, String trace)

원자 테스트에서 거짓인 조건을 가정한다고 플래그를 지정할 때 호출됩니다.

void testEnded(TestDescription test, 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, 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, 
                 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: 테스트를 식별합니다.