BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.객체
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)

false인 조건을 가정한다고 원자성 테스트 플래그가 표시될 때 호출됩니다.

void testEnded ( TestDescription test, testMetrics) 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) 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

차단할 때까지

public void blockUntilIdle ()

수집기가 버그 보고서를 수집하지 않을 때까지 차단합니다. 수집가가 적극적으로 버그 보고서를 수집하지 않는 경우 즉시 반환합니다.

getSummary

public TestSummary getSummary ()

InvocationListener가 요약을 반환하도록 허용합니다.

보고
TestSummary 실행을 요약하는 TestSummary 또는 null

호출 종료됨

public void invocationEnded (long elapsedTime)

성공적으로 또는 일부 오류 조건으로 인해 호출이 종료되었음을 보고합니다.

TradeFederation 프레임워크에 의해 자동으로 호출됩니다.

매개변수
elapsedTime long : 호출 경과 시간(ms)

호출 실패

public void invocationFailed (Throwable cause)

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

TradeFederation 프레임워크에 의해 자동으로 호출됩니다.

매개변수
cause Throwable : 실패의 ERROR(/Throwable) 원인

호출 시작됨

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

테스트 가정 실패

public void testAssumptionFailure (TestDescription test, 
                String trace)

false인 조건을 가정한다고 원자성 테스트 플래그가 표시될 때 호출됩니다.

매개변수
test TestDescription : 테스트를 식별합니다.

trace String : 실패 스택 추적

테스트 종료됨

public void testEnded (TestDescription test, 
                 testMetrics)

개별 테스트 사례의 실행 종료를 보고합니다.

testFailed(TestDescription, FailureDescription) 호출되지 않은 경우 이 테스트는 통과되었습니다. 또한 테스트 사례 실행 중에 방출되었을 수 있는 모든 키/값 메트릭을 반환합니다.

매개변수
test TestDescription : 테스트를 식별합니다.

testMetrics : 내보낸 메트릭의 ERROR(/Map)

테스트 실패

public void testFailed (TestDescription test, 
                String trace)

개별 테스트 사례의 실패를 보고합니다.

testStarted와 testEnded 사이에 호출됩니다.

매개변수
test TestDescription : 테스트를 식별합니다.

trace String : 실패 스택 추적

테스트무시됨

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 : ERROR(/String) 데이터를 설명하는 이름입니다. 예: "device_logcat". 참고 dataName은 호출마다 고유하지 않을 수 있습니다. 즉 구현자는 동일한 dataName을 사용하여 여러 호출을 처리할 수 있어야 합니다.

dataType LogDataType : 데이터의 LogDataType

dataStream InputStreamSource : 데이터의 InputStreamSource . 구현자는 createInputStream을 호출하여 데이터 읽기를 시작하고 완료되면 결과 InputStream을 닫도록 해야 합니다. 호출자는 testLog 메소드가 완료될 때까지 데이터 소스가 존재하고 액세스 가능한지 확인해야 합니다.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

runMetrics : Metric 사용한 테스트 실행 종료 시 보고된 키-값 쌍입니다.

테스트 실행 실패

public void testRunFailed (String errorMessage)

치명적인 오류로 인해 테스트 실행을 완료하지 못한 보고서입니다.

매개변수
errorMessage String : 실행 실패 이유를 설명하는 ERROR(/String) .

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

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

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

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

testRunStopped

public void testRunStopped (long elapsedTime)

사용자 요청으로 인해 테스트 실행이 완료되기 전에 중지되었음을 보고합니다.

TODO: 현재 사용하지 않음, 삭제 고려

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

테스트 시작됨

public void testStarted (TestDescription test)

개별 테스트 사례의 시작을 보고합니다. 이전 인터페이스는 가능할 때마다 testStarted(com.android.tradefed.result.TestDescription) 사용해야 합니다.

매개변수
test TestDescription : 테스트를 식별합니다.