BasePostProcessor
public abstract class BasePostProcessor
extends Object
implements IPostProcessor
java.lang.Объект | |
↳ | 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) Сообщает о незавершенном вызове из-за некоторого состояния ошибки. |
final void | invocationStarted ( IInvocationContext context) Слушатели вызовов для пересылки |
final boolean | isDisabled () Возвращает True, если весь объект отключен (пропустить как настройку, так и демонтаж). |
final void | logAssociation (String dataName, LogFile logFile) В некоторых случаях лог должен быть жестко связан с тест-кейсом, но возможность сделать это на прямом Обновляет связь журнала с тестом. |
processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs) processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs) Реализуйте этот метод для агрегирования метрик и журналов по всем тестам. | |
abstract | processRunMetricsAndLogs ( rawMetrics, runLogs) processRunMetricsAndLogs ( rawMetrics, runLogs) processRunMetricsAndLogs ( rawMetrics, runLogs) Реализуйте этот метод, чтобы сгенерировать набор новых метрик из существующих метрик и журналов. |
processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) Реализуйте этот метод для публикации метрик процесса и журналов каждого теста. | |
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, testMetrics) testEnded ( TestDescription test, long endTime, testMetrics) Альтернатива |
final void | testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, 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, runMetrics) testRunEnded (long elapsedTime, 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 | testStarted ( TestDescription test, long startTime) Альтернатива |
final void | testStarted ( TestDescription test) Обратные вызовы тестовых случаев |
Защищенные методы | |
---|---|
MetricMeasurement.DataType | getMetricType () Переопределите этот метод, чтобы при необходимости изменить тип метрики. |
String | getRunName () |
Публичные конструкторы
BasePostProcessor
public BasePostProcessor ()
Публичные методы
в этом
public final ITestInvocationListener init (ITestInvocationListener listener)
Этап инициализации постпроцессора. Гарантированно вызывается перед любым из тестовых обратных вызовов.
Параметры | |
---|---|
listener | ITestInvocationListener |
Возвращает | |
---|---|
ITestInvocationListener |
вызов завершен
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 причина сбоя |
вызов запущен
public final void invocationStarted (IInvocationContext context)
Слушатели вызовов для пересылки
Параметры | |
---|---|
context | IInvocationContext : информация о вызове |
выключен
public final boolean isDisabled ()
Возвращает True, если весь объект отключен (пропустить как настройку, так и демонтаж). Ложь в противном случае.
Возвращает | |
---|---|
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 , который был зарегистрирован ранее и должен быть связан с тестовым примером. |
процессAllTestMetricsAndLogs
publicprocessAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs)
Реализуйте этот метод для агрегирования метрик и журналов по всем тестам. Метрики, выходящие из этого метода, будут зарегистрированы как метрики выполнения. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (коллизии с существующими ключами не допускаются).
Параметры | |
---|---|
allTestMetrics | ListMultimap : HashMultimap, в котором хранятся метрики из каждого теста, сгруппированные по именам метрик. |
allTestLogs | TestDescription каждого теста в качестве ключей. |
Возвращает | |
---|---|
Набор вновь сгенерированных метрик из всех метрик теста. |
процессрунметриксандлогс
public abstractprocessRunMetricsAndLogs ( rawMetrics, runLogs)
Реализуйте этот метод, чтобы сгенерировать набор новых метрик из существующих метрик и журналов. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (коллизии с существующими ключами не допускаются).
Параметры | |
---|---|
rawMetrics | |
runLogs |
Возвращает | |
---|---|
Набор вновь сгенерированных метрик из метрик выполнения. |
процесстестметриксандлогс
publicprocessTestMetricsAndLogs (TestDescription testDescription, testMetrics, testLogs)
Реализуйте этот метод для публикации метрик процесса и журналов каждого теста. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (коллизии с существующими ключами не допускаются).
Параметры | |
---|---|
testDescription | TestDescription : объект TestDescription, описывающий тест. |
testMetrics | |
testLogs |
Возвращает | |
---|---|
Набор вновь сгенерированных метрик из тестовых метрик. |
сетлогсавер
public final void setLogSaver (ILogSaver logSaver)
Установите ILogSaver
, чтобы позволить разработчику сохранять файлы.
Параметры | |
---|---|
logSaver | ILogSaver : ILogSaver |
настраивать
public void setUp ()
Переопределите этот метод в дочерних постпроцессорах для инициализации перед выполнением теста.
testAssummentFailure
public final void testAssumptionFailure (TestDescription test, String trace)
Вызывается, когда атомарный тест отмечает, что он принимает условие, которое является ложным.
Параметры | |
---|---|
test | TestDescription : идентифицирует тест |
trace | String : трассировка стека сбоя |
testAssummentFailure
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 : трассировка стека сбоя |
тестИгнорируется
public final void testIgnored (TestDescription test)
Вызывается, когда тест не будет запущен, как правило, потому, что метод теста помечен org.junit.Ignore.
Параметры | |
---|---|
test | TestDescription : идентифицирует тест |
журнал испытаний
public final void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
Используйте этот метод для регистрации файла из реализации PostProcessor.
Параметры | |
---|---|
dataName | String : String описательное имя данных. например, "device_logcat". Примечание. 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 может не быть уникальным для каждого вызова. т.е. разработчики должны иметь возможность обрабатывать несколько вызовов с одним и тем же именем данных. |
dataType | LogDataType : LogDataType данных |
dataStream | InputStreamSource : InputStreamSource данных. Разработчики должны вызвать createInputStream, чтобы начать чтение данных, и обеспечить закрытие результирующего InputStream после завершения. |
logFile | LogFile : LogFile , содержащий метаданные сохраненного файла. |
testModuleEnded
public final void testModuleEnded ()
Сообщает об окончании выполнения модуля.
тестмодулестартед
public final void testModuleStarted (IInvocationContext moduleContext)
Сообщает о начале работы модуля. Этот обратный вызов связан с testModuleEnded()
и является необязательным в последовательности. Он используется только во время запуска, в котором используются модули: бегуны на основе набора.
Параметры | |
---|---|
moduleContext | IInvocationContext : IInvocationContext модуля. |
testRunEnded
public final void testRunEnded (long elapsedTime,runMetrics)
Сообщает об окончании тестового прогона. ИСПРАВЛЕНИЕ: У нас не может быть двух интерфейсов Map<> с разными типами, поэтому здесь мы должны использовать HashMap.
Параметры | |
---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
runMetrics | Metric . |
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, которые выполняются несколько раз. ПопыткаNumber имеет индекс 0 и должна увеличиваться каждый раз, когда происходит новый запуск. Например, тест гранулированно повторяется 3 раза, он должен иметь 4 полных запуска под одним и тем же именем запуска, а число попыток — от 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, которые выполняются несколько раз. ПопыткаNumber имеет индекс 0 и должна увеличиваться каждый раз, когда происходит новый запуск. Например, тест гранулированно повторяется 3 раза, он должен иметь 4 полных запуска под одним и тем же именем запуска, а число попыток — от 0 до 3. |
startTime | long : время запуска, измеренное с помощью System.currentTimeMillis() |
testRunStopped
public final void testRunStopped (long elapsedTime)
Тестовый запуск отчетов остановлен до завершения по запросу пользователя.
TODO: в настоящее время не используется, рассмотрите возможность удаления
Параметры | |
---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
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 : идентифицирует тест |
Защищенные методы
getMetricType
protected MetricMeasurement.DataType getMetricType ()
Переопределите этот метод, чтобы при необходимости изменить тип метрики. По умолчанию метрика настроена на обработанный тип.
Возвращает | |
---|---|
MetricMeasurement.DataType |
getRunName
protected String getRunName ()
Возвращает | |
---|---|
String |