BasePostProcessor
public
abstract
class
BasePostProcessor
extends Object
implements
IPostProcessor
java.lang.Object의 클래스 | |
↳ | com.android.tradefed.postprocessor.BasePostProcessor |
모든 구현에서 확장해야 하는 기본 IPostProcessor
입니다. 후처리 메서드가 최종 결과 보고자보다 먼저 호출되는지 확인합니다.
요약
공개 생성자 | |
---|---|
BasePostProcessor()
|
공개 메서드 | |
---|---|
final
ITestInvocationListener
|
init(ITestInvocationListener listener)
후처리기의 초기화 단계입니다. |
final
void
|
invocationEnded(long elapsedTime)
호출이 성공적 또는 일부 오류 조건으로 인해 종료되었음을 보고합니다. |
final
void
|
invocationFailed(FailureDescription failure)
일부 오류 상태로 인해 불완전한 호출을 보고합니다. |
final
void
|
invocationFailed(Throwable cause)
일부 오류 상태로 인해 불완전한 호출을 보고합니다. |
void
|
invocationSkipped(SkipReason reason)
호출을 건너뛴 것으로 보고 |
final
void
|
invocationStarted(IInvocationContext context)
전달을 위한 호출 리스너 |
final
boolean
|
isDisabled()
전체 객체가 사용 중지된 경우 true를 반환합니다 (설정 및 해체 모두 건너뜁). |
final
void
|
logAssociation(String dataName, LogFile logFile)
경우에 따라 로그를 테스트 사례와 밀접하게 연결해야 하지만 직접 로그-테스트 연결을 업데이트합니다. |
|
processAllTestMetricsAndLogs(ListMultimap<String, MetricMeasurement.Metric> allTestMetrics,
이 메서드를 구현하여 모든 테스트의 측정항목과 로그를 집계합니다. |
abstract
|
processRunMetricsAndLogs(
기존 측정항목 및 로그에서 새 측정항목 집합을 생성하려면 이 메서드를 구현합니다. |
|
processTestMetricsAndLogs(TestDescription testDescription,
이 메서드를 구현하여 각 테스트의 측정항목과 로그를 후처리합니다. |
final
void
|
setLogSaver(ILogSaver logSaver)
구현자가 파일을 저장할 수 있도록 |
void
|
setUp()
하위 후처리기에서 이 메서드를 재정의하여 테스트가 실행되기 전에 초기화합니다. |
final
void
|
testAssumptionFailure(TestDescription test, String trace)
원자 테스트에서 거짓인 조건을 가정한다고 플래그를 지정할 때 호출됩니다. |
final
void
|
testAssumptionFailure(TestDescription test, FailureDescription failure)
원자 테스트에서 거짓인 조건을 가정한다고 플래그를 지정할 때 호출됩니다. |
final
void
|
testEnded(TestDescription test, long endTime,
|
final
void
|
testEnded(TestDescription test,
개별 테스트 사례의 실행 종료를 보고합니다. |
final
void
|
testFailed(TestDescription test, FailureDescription failure)
개별 테스트 사례의 실패를 보고합니다. |
final
void
|
testFailed(TestDescription test, String trace)
개별 테스트 사례의 실패를 보고합니다. |
final
void
|
testIgnored(TestDescription test)
테스트가 실행되지 않을 때 호출됩니다(일반적으로 테스트 메서드에 org.junit.Ignore 주석이 추가되어 있기 때문). |
final
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
이 메서드를 사용하여 PostProcessor 구현에서 파일을 로깅합니다. |
final
void
|
testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
테스트 로그가 저장될 때 호출됩니다. |
final
void
|
testModuleEnded()
모듈 실행 종료를 보고합니다. |
final
void
|
testModuleStarted(IInvocationContext moduleContext)
모듈 실행 시작을 보고합니다. |
final
void
|
testRunEnded(long elapsedTime,
테스트 실행 종료를 보고합니다. |
final
void
|
testRunFailed(FailureDescription failure)
|
final
void
|
testRunFailed(String errorMessage)
심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다. |
final
void
|
testRunStarted(String runName, int testCount, int attemptNumber)
테스트 실행 시작을 보고합니다. |
final
void
|
testRunStarted(String runName, int testCount)
테스트 실행 콜백 |
final
void
|
testRunStarted(String runName, int testCount, int attemptNumber, long startTime)
테스트 실행 시작을 보고합니다. |
final
void
|
testRunStopped(long elapsedTime)
사용자 요청으로 인해 보고서 테스트 실행이 완료되기 전에 중지되었습니다. |
final
void
|
testSkipped(TestDescription test, SkipReason reason)
테스트가 건너뛰어졌으며 일반적으로 예상되지 않는 이유로 실행되지 않았을 때 호출됩니다. |
final
void
|
testStarted(TestDescription test, long startTime)
테스트가 시작된 시점도 지정하는 |
final
void
|
testStarted(TestDescription test)
테스트 사례 콜백 |
보호된 메서드 | |
---|---|
void
|
cleanUp()
|
MetricMeasurement.DataType
|
getMetricType()
필요한 경우 이 메서드를 재정의하여 측정항목 유형을 변경합니다. |
String
|
getRunName()
|
공개 생성자
BasePostProcessor
public BasePostProcessor ()
공개 메서드
init
public final ITestInvocationListener init (ITestInvocationListener listener)
후처리기의 초기화 단계입니다. 테스트 콜백 전에 호출됩니다.
매개변수 | |
---|---|
listener |
ITestInvocationListener |
반환 값 | |
---|---|
ITestInvocationListener |
invocationEnded
public final void invocationEnded (long elapsedTime)
호출이 성공적 또는 일부 오류 조건으로 인해 종료되었음을 보고합니다.
TradeFederation 프레임워크에서 자동으로 호출됩니다.
매개변수 | |
---|---|
elapsedTime |
long : 호출 경과 시간(밀리초) |
invocationFailed
public final void invocationFailed (FailureDescription failure)
일부 오류 조건으로 인해 불완전한 호출을 보고합니다.
TradeFederation 프레임워크에서 자동으로 호출됩니다.
매개변수 | |
---|---|
failure |
FailureDescription : 실패 원인을 설명하는 FailureDescription |
invocationFailed
public final void invocationFailed (Throwable cause)
일부 오류 조건으로 인해 불완전한 호출을 보고합니다.
TradeFederation 프레임워크에서 자동으로 호출됩니다.
매개변수 | |
---|---|
cause |
Throwable : 실패의 Throwable 원인입니다. |
invocationSkipped
public void invocationSkipped (SkipReason reason)
호출을 건너뛴 것으로 보고
매개변수 | |
---|---|
reason |
SkipReason |
invocationStarted
public final void invocationStarted (IInvocationContext context)
전달을 위한 호출 리스너
매개변수 | |
---|---|
context |
IInvocationContext : 호출에 관한 정보 |
isDisabled
public final boolean isDisabled ()
전체 객체가 사용 중지된 경우 true를 반환합니다 (설정 및 해체 모두 건너뜁). 그렇지 않으면 false입니다.
반환 값 | |
---|---|
boolean |
logAssociation
public final void logAssociation (String dataName, LogFile logFile)
경우에 따라 로그가 테스트 사례와 밀접하게 연결되어야 하지만, 직접적인 testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
콜백에서는 로그가 테스트 사례와 밀접하게 연결되어야 합니다. 따라서 이 콜백을 사용하면 강력한 연결을 명시적으로 제공할 수 있습니다.
로그-테스트 연결을 업데이트합니다. 테스트 중에 이 메서드가 호출되면 로그가 테스트에 속하고 그렇지 않으면 실행 로그가 됩니다.
매개변수 | |
---|---|
dataName |
String : 데이터의 이름 |
logFile |
LogFile : 이전에 로깅되었으며 테스트 사례와 연결되어야 하는 LogFile 입니다. |
processAllTestMetricsAndLogs
publicprocessAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs)
이 메서드를 구현하여 모든 테스트에서 측정항목과 로그를 집계합니다. 이 메서드에서 나오는 측정항목은 실행 측정항목으로 보고됩니다. 새로 생성된 측정항목만 고유한 키 이름으로 반환해야 합니다 (기존 키와의 충돌은 허용되지 않음).
매개변수 | |
---|---|
allTestMetrics |
ListMultimap : 측정항목 이름별로 그룹화된 각 테스트의 측정항목을 저장하는 HashMultimap입니다. |
allTestLogs |
: 각 테스트의 TestDescription 를 키로 사용하여 데이터 이름으로 키가 지정된 각 테스트의 로그 파일 매핑을 저장하는 매핑입니다. |
반환 값 | |
---|---|
|
모든 테스트 측정항목에서 새로 생성된 측정항목 집합입니다. |
프로세스 실행 측정항목 및 로그
public abstractprocessRunMetricsAndLogs ( rawMetrics, runLogs)
기존 측정항목 및 로그에서 새 측정항목 집합을 생성하려면 이 메서드를 구현합니다. 새로 생성된 측정항목만 고유한 키 이름으로 반환해야 합니다 (기존 키와 충돌해서는 안 됨).
매개변수 | |
---|---|
rawMetrics |
: 실행에 사용할 수 있는 원시 측정항목 집합입니다. |
runLogs |
: 테스트 실행의 로그 파일 집합입니다. |
반환 값 | |
---|---|
|
실행 측정항목에서 새로 생성된 측정항목 집합입니다. |
processTestMetricsAndLogs
publicprocessTestMetricsAndLogs (TestDescription testDescription, testMetrics, testLogs)
이 메서드를 구현하여 각 테스트의 측정항목과 로그를 후처리합니다. 새로 생성된 측정항목만 고유한 키 이름으로 반환해야 합니다 (기존 키와의 충돌은 허용되지 않음).
매개변수 | |
---|---|
testDescription |
TestDescription : 테스트를 설명하는 TestDescription 객체입니다. |
testMetrics |
: 테스트의 측정항목 집합입니다. |
testLogs |
: 테스트 중에 로깅된 파일 집합입니다. |
반환 값 | |
---|---|
|
테스트 측정항목에서 새로 생성된 측정항목 집합입니다. |
setLogSaver
public final void setLogSaver (ILogSaver logSaver)
구현자가 파일을 저장할 수 있도록 ILogSaver
를 설정합니다.
매개변수 | |
---|---|
logSaver |
ILogSaver : ILogSaver |
설정
public void setUp ()
하위 후처리기에서 이 메서드를 재정의하여 테스트가 실행되기 전에 초기화합니다.
testAssumptionFailure
public final void testAssumptionFailure (TestDescription test, String trace)
원자 테스트에서 거짓인 조건을 가정한다고 플래그를 지정할 때 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
trace |
String : 실패의 스택 트레이스 |
testAssumptionFailure
public final void testAssumptionFailure (TestDescription test, FailureDescription failure)
원자 테스트에서 거짓인 조건을 가정한다고 플래그를 지정할 때 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
failure |
FailureDescription : 오류 및 컨텍스트를 설명하는 FailureDescription 입니다. |
testEnded
public final void testEnded (TestDescription test, long endTime,testMetrics)
종료 시간을 직접 지정할 수 있는 ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map))
의 대안입니다. 정확한 측정을 위해 testStarted(com.android.tradefed.result.TestDescription, long)
와 결합하세요.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
endTime |
long : System.currentTimeMillis() 를 통해 측정된 테스트 종료 시간입니다. |
testMetrics |
: 내보낸 측정항목의 ERROR(/Map) |
testEnded
public final void testEnded (TestDescription test,testMetrics)
개별 테스트 사례의 실행 종료를 보고합니다.
testFailed(TestDescription, FailureDescription)
이 호출되지 않았다면 이 테스트는 통과한 것입니다. 또한 테스트 사례 실행 중에 내보냈을 수 있는 모든 키-값 측정항목도 반환합니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
testMetrics |
: 내보낸 측정항목의 ERROR(/Map) 입니다. |
testFailed
public final void testFailed (TestDescription test, FailureDescription failure)
개별 테스트 사례의 실패를 보고합니다.
testStarted와 testEnded 사이에 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
failure |
FailureDescription : 오류 및 컨텍스트를 설명하는 FailureDescription 입니다. |
testFailed
public final void testFailed (TestDescription test, String trace)
개별 테스트 사례의 실패를 보고합니다.
testStarted와 testEnded 사이에 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
trace |
String : 실패의 스택 트레이스 |
testIgnored
public final void testIgnored (TestDescription test)
일반적으로 테스트 메서드가 org.junit.Ignore로 주석 처리되어 테스트가 실행되지 않을 때 호출됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
testLog
public final void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
이 메서드를 사용하여 PostProcessor 구현에서 파일을 로깅합니다.
매개변수 | |
---|---|
dataName |
String : 데이터의 String 설명 이름입니다(예: 'device_logcat'). 참고: dataName은 호출마다 고유하지 않을 수 있습니다. 즉, 구현자는 동일한 dataName으로 여러 호출을 처리할 수 있어야 합니다. |
dataType |
LogDataType : 데이터의 LogDataType |
dataStream |
InputStreamSource : 데이터의 InputStreamSource 입니다. 구현자는 createInputStream을 호출하여 데이터 읽기를 시작하고 완료되면 결과 InputStream을 닫아야 합니다. 호출자는 testLog 메서드가 완료될 때까지 데이터 소스가 존재하고 액세스할 수 있는지 확인해야 합니다. |
testLogSaved
public final void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
테스트 로그가 저장될 때 호출됩니다.
ITestInvocationListener#testLog(String, LogDataType,
InputStreamSource)
대신 사용해야 합니다.
매개변수 | |
---|---|
dataName |
String : 데이터를 설명하는 String 이름입니다(예: 'device_logcat'). 참고: dataName은 호출마다 고유하지 않을 수 있습니다. 즉, 구현자는 동일한 dataName으로 여러 호출을 처리할 수 있어야 합니다. |
dataType |
LogDataType : 데이터의 LogDataType |
dataStream |
InputStreamSource : 데이터의 InputStreamSource 입니다. 구현자는 createInputStream을 호출하여 데이터 읽기를 시작하고 완료되면 결과 InputStream을 닫아야 합니다. |
logFile |
LogFile : 저장된 파일의 메타데이터가 포함된 LogFile 입니다. |
testModuleEnded
public final void testModuleEnded ()
모듈 실행 종료를 보고합니다.
testModuleStarted
public final void testModuleStarted (IInvocationContext moduleContext)
모듈 실행 시작을 보고합니다. 이 콜백은 testModuleEnded()
와 연결되며 시퀀스에서 선택사항입니다. 모듈(모음 기반 런너)을 사용하는 실행 중에만 사용됩니다.
매개변수 | |
---|---|
moduleContext |
IInvocationContext : 모듈의 IInvocationContext 입니다. |
testRunEnded
public final void testRunEnded (long elapsedTime,runMetrics)
테스트 실행 종료를 보고합니다.
매개변수 | |
---|---|
elapsedTime |
long : 기기에서 보고한 경과 시간(밀리초) |
runMetrics |
: 테스트 실행 종료 시 보고된 키-값 쌍 |
testRunFailed
public final void testRunFailed (FailureDescription failure)
FailureDescription
에 설명된 실패로 인해 보고서 테스트 실행을 완료하지 못했습니다.
매개변수 | |
---|---|
failure |
FailureDescription : 오류 및 컨텍스트를 설명하는 FailureDescription 입니다. |
testRunFailed
public final void testRunFailed (String errorMessage)
심각한 오류로 인해 보고서 테스트 실행을 완료하지 못했습니다.
매개변수 | |
---|---|
errorMessage |
String : 실행 실패 이유를 설명하는 String 입니다. |
testRunStarted
public final void testRunStarted (String runName, int testCount, int attemptNumber)
테스트 실행 시작을 보고합니다.
매개변수 | |
---|---|
runName |
String : 테스트 실행 이름 |
testCount |
int : 테스트 실행의 총 테스트 수 |
attemptNumber |
int : 주문 번호로, 여러 번 실행되는 동일한 runName의 여러 시도를 식별합니다. tryNumber는 0부터 시작되며 새로운 실행이 발생할 때마다 증가합니다. 예를 들어 테스트는 3번 세분화되어 재시도되며, 같은 runName에 총 4회의 실행이 허용되고, tryNumber 값이 0에서 3 사이이어야 합니다. |
testRunStarted
public final void testRunStarted (String runName, int testCount)
테스트 실행 콜백
매개변수 | |
---|---|
runName |
String : 테스트 실행 이름 |
testCount |
int : 테스트 실행의 총 테스트 수 |
testRunStarted
public final 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 final void testRunStopped (long elapsedTime)
사용자 요청으로 인해 보고서 테스트 실행이 완료되기 전에 중지되었습니다.
TODO: 현재 사용되지 않으며 삭제해도 될 듯
매개변수 | |
---|---|
elapsedTime |
long : 기기에서 보고한 경과 시간(밀리초) |
testSkipped
public final void testSkipped (TestDescription test, SkipReason reason)
테스트가 건너뛰어졌으며 일반적으로 예상되지 않는 이유로 실행되지 않았을 때 호출됩니다. 이러한 테스트는 적절한 실행을 위해 다시 시도됩니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
reason |
SkipReason : SkipReason |
testStarted
public final void testStarted (TestDescription test, long startTime)
테스트가 시작된 시점도 지정하는 testStarted(com.android.tradefed.result.TestDescription)
의 대안으로, 정확한 측정을 위해 ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map))
와 함께 사용합니다.
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
startTime |
long : 테스트가 시작된 시간으로, System.currentTimeMillis() 를 통해 측정됩니다. |
testStarted
public final void testStarted (TestDescription test)
테스트 사례 콜백
매개변수 | |
---|---|
test |
TestDescription : 테스트를 식별합니다. |
보호된 메서드
정리
protected void cleanUp ()
getMetricType
protected MetricMeasurement.DataType getMetricType ()
필요한 경우 이 메서드를 재정의하여 측정항목 유형을 변경합니다. 기본적으로 측정항목은 처리된 유형으로 설정됩니다.
반환 값 | |
---|---|
MetricMeasurement.DataType |
getRunName
protected String getRunName ()
반환 값 | |
---|---|
String |