ResultDBReporter
public class ResultDBReporter
extends Object implements IConfigurationReceiver , ILogSaverListener , ISupportGranularResults , ITestSummaryListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.resultdb.ResultDBReporter |
Программа для формирования отчетов о результатах, которая загружает результаты тестов в базу данных ResultDB.
Краткое содержание
Поля | |
|---|---|
protected IInvocationContext | mContext |
protected boolean | mEnableAlTestProperties |
Государственные строители | |
|---|---|
ResultDBReporter () | |
Общедоступные методы | |
|---|---|
TestSummary | getSummary ()Позволяет InvocationListener возвращать сводку. |
void | invocationEnded (long elapsedTime)Сообщает о завершении вызова, будь то успешное завершение или возникновение ошибки. |
void | invocationFailed ( FailureDescription failure)Сообщает о неполном вызове из-за какой-либо ошибки. |
void | invocationFailed (Throwable cause)Сообщает о неполном вызове из-за какой-либо ошибки. |
void | invocationSkipped ( SkipReason reason)Сообщает о пропуске вызова. |
void | invocationStarted ( IInvocationContext context)Сообщает о начале выполнения теста. |
boolean | isDisabled () |
void | logAssociation (String dataName, LogFile logFile) В некоторых случаях лог должен быть тесно связан с тестовыми случаями, но сделать это непосредственно в функции обратного вызова |
void | setConfiguration ( IConfiguration configuration) Внедряет используемый объект |
void | setLogSaver ( ILogSaver logSaver) Настройте |
boolean | supportGranularResults ()Возвращает True, если система поддерживает детализированные результаты, и False в противном случае. |
void | testAssumptionFailure ( TestDescription test, String trace)Вызывается, когда атомарный тест указывает на то, что он предполагает ложное условие. |
void | testAssumptionFailure ( TestDescription test, FailureDescription failure)Вызывается, когда атомарный тест указывает на то, что он предполагает ложное условие. |
void | testEnded ( TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics) Альтернатива функции |
void | testEnded ( TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)Сообщает о завершении выполнения отдельного тестового случая. |
void | testFailed ( TestDescription test, FailureDescription failure)Сообщает о сбое отдельного тестового случая. |
void | testFailed ( TestDescription test, String trace)Сообщает о сбое отдельного тестового случая. |
void | testIgnored ( TestDescription test)Вызывается, когда тест выполняться не будет, как правило, потому что тестовый метод аннотирован с помощью org.junit.Ignore. |
void | testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)Предоставляет соответствующие данные журнала или отладочные данные из вызова теста. |
void | testModuleEnded ()Сообщает об окончании выполнения модуля. |
void | testModuleStarted ( IInvocationContext moduleContext)Сообщает о начале работы модуля. |
void | testRunEnded (long elapsedTimeMillis, HashMap<String, MetricMeasurement.Metric> runMetrics)Сообщает об окончании тестового запуска. |
void | testRunFailed ( FailureDescription failure) Сообщается, что запуск тестового запуска не завершился из-за ошибки, описанной в |
void | testRunFailed (String errorMessage)Сообщается, что тестовый запуск не завершился из-за критической ошибки. |
void | testRunStarted (String runName, int testCount, int attemptNumber)Сообщает о начале тестового запуска. |
void | testRunStarted (String runName, int testCount)Сообщает о начале тестового запуска. |
void | testRunStarted (String runName, int testCount, int attemptNumber, long startTime)Сообщает о начале тестового запуска. |
void | testRunStopped (long elapsedTime)Тестирование отчетов было прервано до завершения по запросу пользователя. |
void | testSkipped ( TestDescription test, SkipReason reason)Вызывается, когда тест пропущен и не выполнен по причине, которая обычно не ожидается. |
void | testStarted ( TestDescription test, long startTime) Альтернатива функции |
void | testStarted ( TestDescription test)Сообщает о начале выполнения отдельного тестового случая. |
void | uploadStoragePath (String resourceId, String storagePath, LogFile logFile)Загружает путь к хранилищу артефакта теста AnTS в ResultDB. |
Поля
mContext
protected IInvocationContext mContext
mEnableAlTestProperties
protected boolean mEnableAlTestProperties
Государственные строители
ResultDBReporter
public ResultDBReporter ()
Общедоступные методы
получитьСводка
public TestSummary getSummary ()
Позволяет InvocationListener возвращать сводку.
| Возвраты | |
|---|---|
TestSummary | TestSummary суммирующий результаты выполнения, или значение null. |
вызов завершен
public void invocationEnded (long elapsedTime)
Сообщает о завершении вызова, будь то успешное завершение или возникновение ошибки.
Будет автоматически вызвана фреймворком TradeFederation.| Параметры | |
|---|---|
elapsedTime | long : время выполнения вызова в миллисекундах |
вызов не удался
public void invocationFailed (FailureDescription failure)
Сообщает о неполном вызове из-за какой-либо ошибки.
Будет автоматически вызвана фреймворком TradeFederation.
| Параметры | |
|---|---|
failure | FailureDescription : описание причины сбоя FailureDescription |
вызов не удался
public void invocationFailed (Throwable cause)
Сообщает о неполном вызове из-за какой-либо ошибки.
Будет автоматически вызвана фреймворком TradeFederation.| Параметры | |
|---|---|
cause | Throwable : Throwable причина отказа. |
вызовПропущен
public void invocationSkipped (SkipReason reason)
Сообщает о пропуске вызова.
| Параметры | |
|---|---|
reason | SkipReason |
вызовНачался
public void invocationStarted (IInvocationContext context)
Сообщает о начале выполнения теста.
Этот метод будет автоматически вызываться фреймворком TradeFederation. Для поддержки отправки данных с нескольких устройств разработчикам необходимо переопределить этот метод.
| Параметры | |
|---|---|
context | IInvocationContext : информация о вызове |
isDisabled
public boolean isDisabled ()
| Возвраты | |
|---|---|
boolean | |
logAssociation
public void logAssociation (String dataName,
LogFile logFile)В некоторых случаях необходимо обеспечить тесную связь между логом и тестовыми примерами, но сделать это непосредственно в функции обратного вызова testLogSaved(String,LogDataType,InputStreamSource,LogFile) невозможно. Поэтому данная функция обратного вызова позволяет явно установить тесную связь.
| Параметры | |
|---|---|
dataName | String : Название данных |
logFile | LogFile : LogFile , в который были записаны данные ранее и который должен быть связан с тестовым случаем. |
setConfiguration
public void setConfiguration (IConfiguration configuration)
Внедряет используемый объект IConfiguration .
| Параметры | |
|---|---|
configuration | IConfiguration |
setLogSaver
public void setLogSaver (ILogSaver logSaver)
Настройте ILogSaver таким образом, чтобы разрешить разработчику сохранять файлы.
| Параметры | |
|---|---|
logSaver | ILogSaver : ILogSaver |
supportGranularResults
public boolean supportGranularResults ()
Возвращает True, если система поддерживает детализированные результаты, и False в противном случае.
| Возвраты | |
|---|---|
boolean | |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
Вызывается, когда атомарный тест указывает на то, что он предполагает ложное условие.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
trace | String : трассировка стека ошибки |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
Вызывается, когда атомарный тест указывает на то, что он предполагает ложное условие.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
failure | FailureDescription : Описание ошибки и контекст её FailureDescription . |
тест завершен
public 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 void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
Сообщает о завершении выполнения отдельного тестового случая.
Если testFailed(TestDescription, FailureDescription) не был вызван, тест пройден успешно. Также возвращает любые метрики ключ/значение, которые могли быть получены во время выполнения тестового случая.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
testMetrics | HashMap : Map сгенерированных метрик |
тест не пройден
public void testFailed (TestDescription test, FailureDescription failure)
Сообщает о сбое отдельного тестового случая.
Эта функция будет вызвана в промежутке между testStarted и testEnded.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
failure | FailureDescription : Описание ошибки и контекст её FailureDescription . |
тест не пройден
public void testFailed (TestDescription test, String trace)
Сообщает о сбое отдельного тестового случая.
Эта функция будет вызвана в промежутке между testStarted и testEnded.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
trace | String : трассировка стека ошибки |
тест проигнорирован
public void testIgnored (TestDescription test)
Вызывается, когда тест выполняться не будет, как правило, потому что тестовый метод аннотирован с помощью org.junit.Ignore.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
testLog
public void testLog (String dataName,
LogDataType dataType,
InputStreamSource dataStream)Предоставляет соответствующие данные журнала или отладочные данные из вызова теста.
Необходимо вызвать передERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) или ERROR(/ITestInvocationListener#invocationEnded(long)) Фреймворк TradeFederation автоматически вызовет этот метод, предоставив лог хоста и, если применимо, лог устройства.| Параметры | |
|---|---|
dataName | String : String описательное имя данных. Например, "device_logcat". Обратите внимание, что dataName может быть не уникальным для каждого вызова. То есть разработчики должны иметь возможность обрабатывать несколько вызовов с одним и тем же dataName. |
dataType | LogDataType : тип данных LogDataType |
dataStream | InputStreamSource : InputStreamSource данных. Разработчикам следует вызвать createInputStream для начала чтения данных и убедиться, что результирующий InputStream закрыт по завершении. Вызывающие стороны должны убедиться, что источник данных остается доступным до завершения метода testLog. |
testModuleEnded
public void testModuleEnded ()
Сообщает об окончании выполнения модуля.
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
Сообщает о начале выполнения модуля. Этот обратный вызов связан с testModuleEnded() и является необязательным в последовательности. Он используется только во время запуска, использующего модули: в случае запуска тестов на основе тестовых наборов.
| Параметры | |
|---|---|
moduleContext | IInvocationContext : IInvocationContext модуля. |
testRunEnded
public void testRunEnded (long elapsedTimeMillis,
HashMap<String, MetricMeasurement.Metric> runMetrics)Сообщает об окончании выполнения теста. FIXME: Мы не можем иметь два интерфейса Map<> с разными типами, поэтому здесь необходимо использовать HashMap.
| Параметры | |
|---|---|
elapsedTimeMillis | long : устройство сообщило о прошедшем времени в миллисекундах |
runMetrics | HashMap : пары ключ-значение, отображаемые в конце выполнения теста с помощью Metric . |
testRunFailed
public void testRunFailed (FailureDescription failure)
Сообщается, что запуск тестового запуска не завершился из-за ошибки, описанной в FailureDescription .
| Параметры | |
|---|---|
failure | FailureDescription : Описание ошибки и контекст её FailureDescription . |
testRunFailed
public void testRunFailed (String errorMessage)
Сообщается, что тестовый запуск не завершился из-за критической ошибки.
| Параметры | |
|---|---|
errorMessage | String : String описывающая причину сбоя выполнения. |
testRunStarted
public 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 void testRunStarted (String runName,
int testCount)Сообщает о начале тестового запуска.
| Параметры | |
|---|---|
runName | String : название тестового запуска |
testCount | int : общее количество тестов в тестовом запуске |
testRunStarted
public 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 void testRunStopped (long elapsedTime)
Тестирование отчетов было прервано до завершения по запросу пользователя.
TODO: в настоящее время не используется, рассмотрите возможность удаления.
| Параметры | |
|---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
тест пропущен
public void testSkipped (TestDescription test, SkipReason reason)
Вызывается, когда тест пропущен и не выполнен по нетипичной причине. Будет предпринята попытка повторного выполнения таких тестов для обеспечения их корректного выполнения.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
reason | SkipReason : SkipReason |
тест начат
public void testStarted (TestDescription test, long startTime)
Альтернатива функции testStarted(TestDescription) , где мы также указываем время начала теста, в сочетании с testEnded(TestDescription,long,Map) для более точного измерения.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
startTime | long : время начала теста, измеренное с помощью System.currentTimeMillis() |
тест начат
public void testStarted (TestDescription test)
Сообщает о начале отдельного тестового случая. Более старый интерфейс, следует использовать testStarted(TestDescription) везде, где это возможно.
| Параметры | |
|---|---|
test | TestDescription : идентифицирует тест |
uploadStoragePath
public void uploadStoragePath (String resourceId,
String storagePath,
LogFile logFile)Загружает путь к хранилищу артефакта теста AnTS в ResultDB.
Это временное решение для миграции с AnTS на ResultDB (см. go/convergence-tr). Этот метод должен вызываться репортером AnTS, когда становится доступен путь к хранилищу артефакта.
Репортер AnTS гарантирует вызов этого метода для каждого загружаемого артефакта. В свою очередь, этот репортер загрузит все такие артефакты в ResultDB с правильной привязкой к тесту. Для корректной привязки к логам необходимо, чтобы logAssociation(String,LogFile) был предварительно вызван для того же идентификатора ресурса. Это гарантирует, что артефакт уже отслеживается. В противном случае артефакт будет связан с рабочей единицей верхнего уровня вызова TradeFed.
Этот метод не следует вызывать до invocationStarted(IInvocationContext) . Его можно вызвать после invocationEnded(long) для вызовов, управляемых вышестоящей системой, поскольку они не завершаются этим репортером. Это не относится к локально созданным вызовам, которые завершаются в invocationEnded(long) .
TODO(b/464941055): Удалить этот метод, как только мы сможем корректно перенести артефакты AnTS в ResultDB.
| Параметры | |
|---|---|
resourceId | String : Идентификатор ресурса артефакта. |
storagePath | String : Путь к хранилищу артефакта (например, путь /bigstore/). |
logFile | LogFile : Объект LogFile , связанный с артефактом. |