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

Во-первых, убедитесь, что вы понимаете работу с опционами в 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