버그 신고 수집기

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) 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

첫 번째 호출이 시작될 때 실행되는 사전 정의된 조건자

공개 생성자

버그 신고 수집기

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

호출종료됨

public void invocationEnded (long elapsedTime)

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

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

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

호출 실패

public void invocationFailed (Throwable cause)

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

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

매개변수
cause Throwable : Throwable 실패 원인

호출시작됨

public void invocationStarted (IInvocationContext context)

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

TradeFederation 프레임워크에 의해 자동으로 호출됩니다. 보고자는 여러 장치 보고를 지원하기 위해 이 방법을 재정의해야 합니다.

매개변수
context IInvocationContext : 호출에 대한 정보

비동기화 설정

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)

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

매개변수
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 : 테스트를 식별합니다.

테스트로그

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 메서드가 완료될 때까지 데이터 소스가 계속 존재하고 액세스 가능한지 확인해야 합니다.

테스트실행이 종료됨

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

runMetrics : Metric 사용한 테스트 실행이 끝나면 보고된 키-값 쌍입니다.

테스트실행실패

public void testRunFailed (String errorMessage)

치명적인 오류로 인해 테스트 실행을 완료하지 못했습니다.

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

테스트실행시작됨

public void testRunStarted (String runName, 
                int testCount)

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

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

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

테스트실행중지됨

public void testRunStopped (long elapsedTime)

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

TODO: 현재 사용되지 않습니다. 제거를 고려하세요.

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

테스트시작됨

public void testStarted (TestDescription test)

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

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