IsolatedHostTest

public class IsolatedHostTest
extends Object implements IBuildReceiver , IConfigurationReceiver , IRemoteTest , IShardableTest , ITestAnnotationFilterReceiver , ITestCollector , ITestFilterReceiver

java.lang.Object
com.android.tradefed.testtype.IsolatedHostTest


Реализован инструмент запуска тестов TradeFed, использующий дочерний процесс для выполнения тестов в среде с низкой зависимостью от основного процесса, вместо их выполнения в главном процессе.

Этот алгоритм запуска предполагает, что все настроенные JAR-файлы находятся в одном тестовом каталоге, и запускает дочерний процесс в этом каталоге. Поскольку ему необходимо выбрать рабочий каталог для дочернего процесса, а для многих тестов наличие тестового каталога является преимуществом, это был наилучший из доступных компромиссов.

Краткое содержание

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

IsolatedHostTest ()

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

void addAllExcludeAnnotation (Set<String> notAnnotations)

Добавляет Set аннотаций, которые следует исключить, если тест помечен ими.

void addAllExcludeFilters (Set<String> filters)

Добавляет Set фильтров, из которых следует исключить тесты.

void addAllIncludeAnnotation (Set<String> annotations)

Добавляет Set аннотаций, которые будут включены, если тест помечен ими.

void addAllIncludeFilters (Set<String> filters)

Добавляет Set фильтров, определяющих, какие тесты следует включить.

void addExcludeAnnotation (String notAnnotation)

Добавляет аннотацию для исключения тестов, если они помечены этой аннотацией.

void addExcludeFilter (String filter)

Добавляет фильтр, позволяющий исключить определенные тесты.

void addIncludeAnnotation (String annotation)

Добавляет аннотацию, которая будет включена, если тест помечен этой аннотацией.

void addIncludeFilter (String filter)

Добавляет фильтр, определяющий, какие тесты следует включить.

void clearExcludeAnnotations ()

Удалите все отслеживаемые в данный момент аннотации исключения.

void clearExcludeFilters ()

Удалите все отслеживаемые в данный момент фильтры исключения.

void clearIncludeAnnotations ()

Удалите все отслеживаемые в данный момент включаемые аннотации.

void clearIncludeFilters ()

Удалите все отслеживаемые в данный момент фильтры включения.

String compileClassPath ()

Создает путь к классам для дочернего процесса, включающий необходимые JAR-файлы для запуска тестов.

List<String> compileCommandArgs (String classpath, File artifactsDir)

Формирует аргументы команды для запуска дочернего процесса.

void deleteTempFiles ()
File getCoverageExecFile ()
Set<String> getExcludeAnnotations ()

Возвращает текущий Set аннотаций для исключения.

Set<String> getExcludeFilters ()

Возвращает текущий Set исключаемых фильтров.

Set<String> getIncludeAnnotations ()

Возвращает текущий Set аннотаций для включения.

Set<String> getIncludeFilters ()

Возвращает текущий Set включаемых фильтров.

void run ( TestInformation testInfo, ITestInvocationListener listener)

Выполняет тесты и сообщает результаты слушателю.

void setBuild ( IBuildInfo build)

void setCollectTestsOnly (boolean shouldCollectTest)

Включает или отключает режим сбора тестовых данных.

void setConfiguration ( IConfiguration configuration)

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

void setDebug (boolean debug)
Collection< IRemoteTest > split (int shardCount)

Альтернативная версия функции split() , которая также предоставляет количество шардов, которые пытаются запустить.

void uploadTestArtifacts (File logDir, ITestInvocationListener listener)
boolean useRavenwoodResources ()
boolean useRobolectricResources ()

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

String compileLdLibraryPathInner (String androidHostOut)

Мы вызываем эту версию из модульного теста и напрямую передаем ANDROID_HOST_OUT.

File getJarFile (String jarName, TestInformation testInfo)

Скопировано из HostTest для имитации используемой в нем системы модульного тестирования.

void setServer (ServerSocket server)

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

IsolatedHostTest

public IsolatedHostTest ()

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

addAllExcludeAnnotation

public void addAllExcludeAnnotation (Set<String> notAnnotations)

Добавляет Set аннотаций, которые следует исключить, если тест помечен ими.

Параметры
notAnnotations Set

addAllExcludeFilters

public void addAllExcludeFilters (Set<String> filters)

Добавляет Set фильтров, из которых следует исключить тесты.

Параметры
filters Set

addAllIncludeAnnotation

public void addAllIncludeAnnotation (Set<String> annotations)

Добавляет Set аннотаций, которые будут включены, если тест помечен ими.

Параметры
annotations Set

addAllIncludeFilters

public void addAllIncludeFilters (Set<String> filters)

Добавляет Set фильтров, определяющих, какие тесты следует включить.

Параметры
filters Set

addExcludeAnnotation

public void addExcludeAnnotation (String notAnnotation)

Добавляет аннотацию для исключения тестов, если они помечены этой аннотацией.

Параметры
notAnnotation String

addExcludeFilter

public void addExcludeFilter (String filter)

Добавляет фильтр, позволяющий исключить определенные тесты.

Параметры
filter String

addIncludeAnnotation

public void addIncludeAnnotation (String annotation)

Добавляет аннотацию, которая будет включена, если тест помечен этой аннотацией.

Параметры
annotation String

addIncludeFilter

public void addIncludeFilter (String filter)

Добавляет фильтр, определяющий, какие тесты следует включить.

Параметры
filter String

clearExcludeAnnotations

public void clearExcludeAnnotations ()

Удалите все отслеживаемые в данный момент аннотации исключения.

clearExcludeFilters

public void clearExcludeFilters ()

Удалите все отслеживаемые в данный момент фильтры исключения.

clearIncludeAnnotations

public void clearIncludeAnnotations ()

Удалите все отслеживаемые в данный момент включаемые аннотации.

clearIncludeFilters

public void clearIncludeFilters ()

Удалите все отслеживаемые в данный момент фильтры включения.

compileClassPath

public String compileClassPath ()

Создает путь к классам для дочернего процесса, включающий необходимые JAR-файлы для запуска тестов.

Возвраты
String Строка, указывающая путь к классам, разделённый двоеточиями.

compileCommandArgs

public List<String> compileCommandArgs (String classpath, 
                File artifactsDir)

Формирует аргументы команды для запуска дочернего процесса.

Параметры
classpath String

artifactsDir File

Возвраты
List<String>

deleteTempFiles

public void deleteTempFiles ()

getCoverageExecFile

public File getCoverageExecFile ()

Возвраты
File

getExcludeAnnotations

public Set<String> getExcludeAnnotations ()

Возвращает текущий Set аннотаций для исключения.

Возвраты
Set<String>

getExcludeFilters

public Set<String> getExcludeFilters ()

Возвращает текущий Set исключаемых фильтров.

Возвраты
Set<String>

getIncludeAnnotations

public Set<String> getIncludeAnnotations ()

Возвращает текущий Set аннотаций для включения.

Возвраты
Set<String>

getIncludeFilters

public Set<String> getIncludeFilters ()

Возвращает текущий Set включаемых фильтров.

Возвраты
Set<String>

бегать

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

Выполняет тесты и сообщает результаты слушателю.

Параметры
testInfo TestInformation : Объект TestInformation , содержащий полезную информацию для запуска тестов.

listener ITestInvocationListener : ITestInvocationListener для результатов тестирования.

Броски
DeviceNotAvailableException

setBuild

public void setBuild (IBuildInfo build)

Параметры
build IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

Включает или отключает режим сбора тестовых данных.

setConfiguration

public void setConfiguration (IConfiguration configuration)

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

Параметры
configuration IConfiguration

setDebug

public void setDebug (boolean debug)

Параметры
debug boolean

расколоть

public Collection<IRemoteTest> split (int shardCount)

Альтернативная версия функции split() , которая также предоставляет количество шардов, которые пытаются запустить. Это полезно для некоторых средств запуска тестов, которые иногда не могут принимать произвольные решения.

Параметры
shardCount int : количество попыток создания шардов.

Возвраты
Collection< IRemoteTest > набор подтестов, которые должны выполняться отдельно, или null если тест в данный момент не может быть разделен на сегменты.

uploadTestArtifacts

public void uploadTestArtifacts (File logDir, 
                ITestInvocationListener listener)

Параметры
logDir File

listener ITestInvocationListener

useRavenwoodResources

public boolean useRavenwoodResources ()

Возвраты
boolean

useRobolectricResources

public boolean useRobolectricResources ()

Возвраты
boolean

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

compileLdLibraryPathInner

protected String compileLdLibraryPathInner (String androidHostOut)

Мы вызываем эту версию из модульного теста и напрямую передаем ANDROID_HOST_OUT. Она нам нужна, потому что в Java нет API для установки переменных окружения.

Параметры
androidHostOut String

Возвраты
String

getJarFile

protected File getJarFile (String jarName, 
                TestInformation testInfo)

Скопировано из HostTest для имитации используемой в нем системы модульного тестирования.

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

Параметры
jarName String

testInfo TestInformation

Возвраты
File

Броски
FileNotFoundException

setServer

protected void setServer (ServerSocket server)

Параметры
server ServerSocket