Передача параметров и фильтров в набор и модули

Во- первых, убедитесь , что вы понимаете Option Handling в Tradefed.

Настройка пакета описывает два уровня, которые существуют в структуре пакета:

  • Люкс верхнего уровня
  • Модули

В контексте Tradefed, не относящегося к программным пакетам, не нужно думать об этом; каждая опция переходит к полному вызову. В контексте набора модули хранятся изолированными от набора; поэтому не все варианты доступны на их уровне.

Передача параметров в пакет верхнего уровня

Пакет верхнего уровня ведет себя как стандартная конфигурация Tradefed: полная конфигурация, включая средство запуска пакета, получает все параметры, как и конфигурация Tradefed, не входящая в пакет.

Передайте параметры модулям

Модули по умолчанию не получают никаких опций, переданных команде. Они должны быть явно нацелены на получение параметров через параметр module-arg . Эта изоляция параметров модулей упрощает отладку.

Пример:

cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>

cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true

Синтаксис гарантирует, что целевой модуль получит данную опцию.

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

Пример:

cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>

cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true

Синтаксис нацелен не на конкретный модуль, а на всех участников тестирования данного класса. test-arg рассматривает только реализации IRemoteTest как потенциального получателя опций.

Передача параметра в тестовый класс java в java_test_host

Если вы добавляете @Option в свой тестовый класс java как часть цели сборки java_test_host, вам нужно будет использовать следующее, чтобы внедрить эту опцию:

cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>

set-option в этом контексте - это опция бегуна HostTest из тестовой оснастки, которая обертывает ваши java-классы для их выполнения.

Передать фильтры в люкс

Чтобы отфильтровать некоторые тесты из набора, мы используем --include-filter и --exclude-filter чтобы соответственно принудительно включить или исключить конкретный тест или модуль. Исключение имеет приоритет.

Они используют этот формат: [abi] <module-name> [test name]

Примеры:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes