BasePostProcessor
public abstract class BasePostProcessor
extends Object implements IConfigurationReceiver , IPostProcessor
| java.lang.Object | |
| ↳ | com.android.tradefed.postprocessor.BasePostProcessor |
Базовый класс IPostProcessor , от которого должна наследоваться каждая реализация. Убедитесь, что методы постобработки вызываются до обработки окончательных результатов.
Краткое содержание
Государственные строители | |
|---|---|
BasePostProcessor () | |
Общедоступные методы | |
|---|---|
IConfiguration | getConfiguration () |
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) В некоторых случаях лог должен быть тесно связан с тестовыми случаями, но сделать это непосредственно в функции обратного вызова Обновляет связь между журналом и тестом. |
Map<String, MetricMeasurement.Metric.Builder> | processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, Map< TestDescription , Map<String, LogFile >> allTestLogs)Реализуйте этот метод для агрегирования метрик и логов по всем тестам. |
abstract Map<String, MetricMeasurement.Metric.Builder> | processRunMetricsAndLogs (HashMap<String, MetricMeasurement.Metric> rawMetrics, Map<String, LogFile > runLogs)Реализуйте этот метод, чтобы сгенерировать набор новых метрик на основе существующих метрик и журналов. |
Map<String, MetricMeasurement.Metric.Builder> | processTestMetricsAndLogs ( TestDescription testDescription, HashMap<String, MetricMeasurement.Metric> testMetrics, Map<String, LogFile > testLogs)Реализуйте этот метод для отправки метрик и логов из каждого теста. |
void | setConfiguration ( IConfiguration configuration) Внедряет используемый объект |
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, HashMap<String, MetricMeasurement.Metric> testMetrics) Альтернатива функции |
final void | testEnded ( TestDescription test, Map<String, String> testMetrics)Сообщает о завершении выполнения отдельного тестового случая. |
final void | testEnded ( TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)Сообщает о завершении выполнения отдельного тестового случая. |
final void | testEnded ( TestDescription test, long endTime, Map<String, String> testMetrics) Альтернатива функции |
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, HashMap<String, MetricMeasurement.Metric> runMetrics)Сообщает об окончании тестового запуска. |
final void | testRunEnded (long elapsedTime, Map<String, String> runMetrics)Сообщает об окончании тестового запуска. |
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 () |
final String | getStackTrace () |
final boolean | isTestFailed () |
Государственные строители
BasePostProcessor
public BasePostProcessor ()
Общедоступные методы
инициализация
public final ITestInvocationListener init (ITestInvocationListener listener)
Этап инициализации постпроцессора. Необходимо убедиться, что он вызывается до любого из обратных вызовов тестов.
| Параметры | |
|---|---|
listener | ITestInvocationListener |
| Возвраты | |
|---|---|
ITestInvocationListener | |
вызов завершен
public final void invocationEnded (long elapsedTime)
Сообщает о завершении вызова, будь то успешное завершение или возникновение ошибки.
Будет автоматически вызвана фреймворком TradeFederation.| Параметры | |
|---|---|
elapsedTime | long : время выполнения вызова в миллисекундах |
вызов не удался
public final void invocationFailed (FailureDescription failure)
Сообщает о неполном вызове из-за какой-либо ошибки.
Будет автоматически вызвана фреймворком TradeFederation.
| Параметры | |
|---|---|
failure | FailureDescription : описание причины сбоя FailureDescription |
вызов не удался
public final void invocationFailed (Throwable cause)
Сообщает о неполном вызове из-за какой-либо ошибки.
Будет автоматически вызвана фреймворком TradeFederation.| Параметры | |
|---|---|
cause | Throwable : Throwable причина отказа. |
вызовПропущен
public void invocationSkipped (SkipReason reason)
Сообщает о пропуске вызова.
| Параметры | |
|---|---|
reason | SkipReason |
вызовНачался
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,LogDataType,InputStreamSource,LogFile) невозможно. Поэтому данная функция обратного вызова позволяет явно установить тесную связь.
Обновляет связь между логом и тестом. Если этот метод вызывается во время теста, то лог относится к тесту; в противном случае это будет лог выполнения.
| Параметры | |
|---|---|
dataName | String : Название данных |
logFile | LogFile : LogFile , в который были записаны данные ранее и который должен быть связан с тестовым случаем. |
processAllTestMetricsAndLogs
public Map<String, MetricMeasurement.Metric.Builder> processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics,
Map<TestDescription, Map<String, LogFile>> allTestLogs)Реализуйте этот метод для агрегирования метрик и логов по всем тестам. Метрики, полученные с помощью этого метода, будут отображаться как метрики выполнения. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (конфликты с существующими ключами не допускаются).
| Параметры | |
|---|---|
allTestMetrics | ListMultimap : HashMultimap, хранящий метрики каждого теста, сгруппированные по именам метрик. |
allTestLogs | Map : Карта, хранящая карту файлов журналов каждого теста, ключами к которой служат имена данных, а в качестве ключей используется TestDescription теста (TestDescription). |
| Возвраты | |
|---|---|
Map<String, MetricMeasurement.Metric.Builder> | Набор вновь сгенерированных метрик на основе всех тестовых метрик. |
processRunMetricsAndLogs
public abstract Map<String, MetricMeasurement.Metric.Builder> processRunMetricsAndLogs (HashMap<String, MetricMeasurement.Metric> rawMetrics,
Map<String, LogFile> runLogs)Реализуйте этот метод для генерации набора новых метрик на основе существующих метрик и логов. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (конфликты с существующими ключами не допускаются).
| Параметры | |
|---|---|
rawMetrics | HashMap : Набор исходных метрик, доступных для выполнения программы. |
runLogs | Map : Набор файлов журналов для тестового запуска. |
| Возвраты | |
|---|---|
Map<String, MetricMeasurement.Metric.Builder> | Набор вновь сгенерированных метрик на основе метрик выполнения. |
processTestMetricsAndLogs
public Map<String, MetricMeasurement.Metric.Builder> processTestMetricsAndLogs (TestDescription testDescription, HashMap<String, MetricMeasurement.Metric> testMetrics, Map<String, LogFile> testLogs)
Реализуйте этот метод для постобработки метрик и логов из каждого теста. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (конфликты с существующими ключами не допускаются).
| Параметры | |
|---|---|
testDescription | TestDescription : Объект TestDescription, описывающий тест. |
testMetrics | HashMap : Набор метрик из теста. |
testLogs | Map : набор файлов, зарегистрированных во время теста. |
| Возвраты | |
|---|---|
Map<String, MetricMeasurement.Metric.Builder> | Набор вновь сгенерированных метрик на основе тестовых метрик. |
setConfiguration
public void setConfiguration (IConfiguration configuration)
Внедряет используемый объект IConfiguration .
| Параметры | |
|---|---|
configuration | IConfiguration |
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 . |
тест завершен
public final void testEnded (TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
Альтернатива функции testEnded(TestDescription,Map) , позволяющая напрямую указать время окончания. Для более точного измерения можно использовать в сочетании с testStarted(TestDescription,long) .
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
endTime | long : время окончания теста, измеренное с помощью System.currentTimeMillis() |
testMetrics | HashMap : Map сгенерированных метрик |
тест завершен
public final void testEnded (TestDescription test, Map<String, String> testMetrics)
Сообщает о завершении выполнения отдельного тестового случая.
Если testFailed(TestDescription, FailureDescription) не был вызван, тест пройден успешно. Также возвращает любые метрики ключ/значение, которые могли быть получены во время выполнения тестового случая.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
testMetrics | Map : Map генерируемых метрик |
тест завершен
public final void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Сообщает о завершении выполнения отдельного тестового случая.
Если testFailed(TestDescription, FailureDescription) не был вызван, тест пройден успешно. Также возвращает любые метрики ключ/значение, которые могли быть получены во время выполнения тестового случая.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
testMetrics | HashMap : Map сгенерированных метрик |
тест завершен
public final void testEnded (TestDescription test, long endTime, Map<String, String> testMetrics)
Альтернатива функции testEnded(TestDescription,Map) , позволяющая напрямую указать время окончания. Для более точного измерения можно использовать в сочетании с testStarted(TestDescription,long) .
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
endTime | long : время окончания теста, измеренное с помощью System.currentTimeMillis() |
testMetrics | Map : Map генерируемых метрик |
тест не пройден
public final void testFailed (TestDescription test, FailureDescription failure)
Сообщает о сбое отдельного тестового случая.
Эта функция будет вызвана в промежутке между testStarted и testEnded.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
failure | FailureDescription : Описание ошибки и контекст её FailureDescription . |
тест не пройден
public final void testFailed (TestDescription test, String trace)
Сообщает о сбое отдельного тестового случая.
Эта функция будет вызвана в промежутке между testStarted и testEnded.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
trace | String : трассировка стека ошибки |
тест проигнорирован
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,
HashMap<String, MetricMeasurement.Metric> runMetrics)Сообщает об окончании выполнения теста. FIXME: Мы не можем иметь два интерфейса Map<> с разными типами, поэтому здесь необходимо использовать HashMap.
| Параметры | |
|---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
runMetrics | HashMap : пары ключ-значение, отображаемые в конце выполнения теста с помощью Metric . |
testRunEnded
public final void testRunEnded (long elapsedTime,
Map<String, String> runMetrics)Сообщает об окончании тестового запуска.
| Параметры | |
|---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
runMetrics | Map : пары ключ-значение, отображаемые по завершении тестового запуска. |
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, которые выполняются несколько раз. attemptNumber имеет индексацию от 0 и должен увеличиваться каждый раз при новом запуске. Например, если тест повторяется 3 раза, то всего должно быть 4 запуска под одним и тем же runName, а attemptNumber принимает значения от 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 раза, то всего должно быть 4 запуска под одним и тем же runName, а attemptNumber принимает значения от 0 до 3. |
startTime | long : время начала выполнения, измеренное с помощью System.currentTimeMillis() |
testRunStopped
public final void testRunStopped (long elapsedTime)
Тестирование отчетов было прервано до завершения по запросу пользователя.
TODO: в настоящее время не используется, рассмотрите возможность удаления.
| Параметры | |
|---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
тест пропущен
public final void testSkipped (TestDescription test, SkipReason reason)
Вызывается, когда тест пропущен и не выполнен по нетипичной причине. Будет предпринята попытка повторного выполнения таких тестов для обеспечения их корректного выполнения.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
reason | SkipReason : SkipReason |
тест начат
public final void testStarted (TestDescription test, long startTime)
Альтернатива функции testStarted(TestDescription) , где мы также указываем время начала теста, в сочетании с testEnded(TestDescription,long,Map) для более точного измерения.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
startTime | long : время начала теста, измеренное с помощью System.currentTimeMillis() |
тест начат
public final void testStarted (TestDescription test)
Обратные вызовы тестовых случаев
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
Защищенные методы
очистка
protected void cleanUp ()
getMetricType
protected MetricMeasurement.DataType getMetricType ()
Переопределите этот метод, чтобы при необходимости изменить тип метрики. По умолчанию метрика имеет тип «обработано».
| Возвраты | |
|---|---|
MetricMeasurement.DataType | |
getRunName
protected String getRunName ()
| Возвраты | |
|---|---|
String | |
getStackTrace
protected final String getStackTrace ()
| Возвраты | |
|---|---|
String | |
isTestFailed
protected final boolean isTestFailed ()
| Возвраты | |
|---|---|
boolean | |