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)

В некоторых случаях лог должен быть тесно связан с тестовыми случаями, но сделать это непосредственно в функции обратного вызова testLogSaved(String,LogDataType,InputStreamSource,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)

Внедряет используемый объект IConfiguration .

final void setLogSaver ( ILogSaver logSaver)

Настройте ILogSaver таким образом, чтобы разрешить разработчику сохранять файлы.

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)

Альтернатива функции testEnded(TestDescription,Map) позволяющая напрямую указать время окончания.

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)

Альтернатива функции testEnded(TestDescription,Map) позволяющая напрямую указать время окончания.

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)

Сообщается, что запуск тестового запуска не завершился из-за ошибки, описанной в FailureDescription .

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)

Альтернатива функции testStarted(TestDescription) , где мы также указываем время начала теста, в сочетании с testEnded(TestDescription,long,Map) для более точного измерения.

final void testStarted ( TestDescription test)

Обратные вызовы тестовых случаев

Защищенные методы

void cleanUp ()
MetricMeasurement.DataType getMetricType ()

Переопределите этот метод, чтобы при необходимости изменить тип метрики.

String getRunName ()
final String getStackTrace ()
final boolean isTestFailed ()

Государственные строители

BasePostProcessor

public BasePostProcessor ()

Общедоступные методы

получить конфигурацию

public IConfiguration getConfiguration ()

Возвраты
IConfiguration

инициализация

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