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)

В некоторых случаях лог должен быть тесно связан с тестовыми случаями, но сделать это непосредственно в функции обратного вызова testLogSaved(String,LogDataType,InputStreamSource,LogFile) невозможно.

void setConfiguration ( IConfiguration configuration)

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

void setLogSaver ( ILogSaver logSaver)

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

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)

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

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)

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

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)

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

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 , связанный с артефактом.