Каковы правильные команды для запуска планов тестирования CTS и VTS?
Я собираюсь настроить тесты VTS и CTS для нашего AOSP. Оба набора тестов используют тестовую среду Федерации торговли. Что меня смущает, так это как запустить разные планы тестирования.
В соответствии с документацией ( https://source.android.com/compatibility/vts/systems) для VTS необходимо решить, какой план тестирования запустить. А затем используйте команду run, чтобы проверить это.
Например, если я хочу запустить план тестирования VTS по умолчанию, я использую его.
me@computer> vts-tradefed
vts-tf > run vts
Это запустит ряд тестов для подключенного устройства.
Далее, при запуске тестов CTS я ожидал вызвать соответствующие функции или что-то вроде. Следуя инструкциям, я ожидал запустить тесты CTS с планом тестирования под названием "cts".
me@computer> cts-tradefed
cts-tf > run cts
Кажется, это работает нормально, и тесты, похоже, начинаются. Но затем я прочитал в руководстве для CTS ( https://source.android.com/compatibility/cts/run), что cts будет выполняться как run cts --plan <test-plan>
, И они дают пример run cts --plan CTS
ниже, чтобы запустить план CTS по умолчанию.
Запустите план тестирования по умолчанию (содержит все тестовые пакеты), добавив: run cts --plan CTS . Это запускает все тесты CTS, необходимые для совместимости.
Для CTS v1 (Android 6.0 и более ранних версий) введите list plan, чтобы просмотреть список планов тестирования в репозитории, или список пакетов, чтобы просмотреть список тестовых пакетов в репозитории. Для CTS v2 (Android 7.0 и более поздних версий) введите список модулей, чтобы увидеть список тестовых модулей.
В качестве альтернативы, запустите CTS план по вашему выбору из командной строки, используя: cts-tradefed run cts --plan
При тестировании это похоже на работу. Два мысли заставляют меня задуматься. Прежде всего, план тестирования в этом примере обозначается заглавными буквами, то есть "CTS" вместо "cts". Во-вторых, команда run, похоже, здесь работает совершенно иначе. Для меня имеет смысл, что run
-command - это встроенная команда TradeFed, и ее аргумент должен быть именем плана тестирования. Это также подтверждается самим TradeFed.
Помощь VTS:
vts-tf > help run
r(?:un)? help:
command <config> [options] Run the specified command
<config> [options] Shortcut for the above: run specified command
cmdfile <cmdfile.txt> Run the specified commandfile
commandAndExit <config> [options] Run the specified command, and run 'exit -c' immediately afterward
cmdfileAndExit <cmdfile.txt> Run the specified commandfile, and run 'exit -c' immediately afterward
----- Vendor Test Suite specific options -----
<plan> --module/-m <module> Run a test module
<plan> --module/-m <module> --test/-t <test_name> Run a specific test from the module. Test name can be <package>.<class>, <package>.<class>#<method> or <native_binary_name>
Available Options:
--serial/-s <device_id>: The device to run the test on
--abi/-a <abi> : The ABI to run the test against
--logcat-on-failure : Capture logcat when a test fails
--bugreport-on-failure : Capture a bugreport when a test fails
--screenshot-on-failure: Capture a screenshot when a test fails
--shard-count <shards>: Shards a run into the given number of independent chunks, to run on multiple devices in parallel.
----- In order to retry a previous run -----
retry --retry <session id to retry> [--retry-type <FAILED | NOT_EXECUTED>]
Without --retry-type, retry will run both FAIL and NOT_EXECUTED tests
CTS поможет:
cts-tf > help run
r(?:un)? help:
command <config> [options] Run the specified command
<config> [options] Shortcut for the above: run specified command
cmdfile <cmdfile.txt> Run the specified commandfile
commandAndExit <config> [options] Run the specified command, and run 'exit -c' immediately afterward
cmdfileAndExit <cmdfile.txt> Run the specified commandfile, and run 'exit -c' immediately afterward
----- Compatibility Test Suite specific options -----
<plan> --module/-m <module> Run a test module
<plan> --module/-m <module> --test/-t <test_name> Run a specific test from the module. Test name can be <package>.<class>, <package>.<class>#<method> or <native_binary_name>
Available Options:
--serial/-s <device_id>: The device to run the test on
--abi/-a <abi> : The ABI to run the test against
--logcat-on-failure : Capture logcat when a test fails
--bugreport-on-failure : Capture a bugreport when a test fails
--screenshot-on-failure: Capture a screenshot when a test fails
--shard-count <shards>: Shards a run into the given number of independent chunks, to run on multiple devices in parallel.
----- In order to retry a previous run -----
retry --retry <session id to retry> [--retry-type <FAILED | NOT_EXECUTED>]
Without --retry-type, retry will run both FAIL and NOT_EXECUTED tests
Объяснения в значительной степени идентичны. Так что на самом деле имеет смысл бегать с run cts
а также run vts
repectively. Это просто глупый вопрос, и я совершенно не прав? Поскольку эти тесты важны для нашей совместимости, я хочу быть уверенным, что они выполняются правильно.
0 ответов
Для запуска плана (cts или vts) вы можете использовать различные команды в соответствии с вашими потребностями:
Для запуска полных тестов vts или cts: run <plan>
например, запустить cts / запустить vts
Чтобы запустить определенный модуль в плане: run <plan> -m <module>
например, запустите cts -m CtsMyDisplayTestCases (имя модуля должно быть таким же, как указано в LOCAL_PACAKGE_NAME, присутствующей в вашем Android.mk)
Чтобы запустить определенный класс тестирования, содержащий несколько тестов определенного модуля в плане: run <plan> -m <module> -t <packageName.className>
например, запустить cts -m CtsMyDisplayTestCases -t android.display.cts.ScreenTests (эта команда запустит все тесты, присутствующие в классе теста 'ScreenTests', имя пакета такое же, как и в AndroidManifest.xml)
Чтобы запустить конкретный контрольный пример в классе тестирования определенного модуля в плане: run <plan> -m <module> -t <packageName.className#testName>
например, запустить cts -m CtsMyDisplayTestCases -t android.display.cts.ScreenTests # testDisplayName (эта команда запустит контрольный пример testDisplayName, представленный в тестовом классе 'ScreenTests', имя пакета такое же, как и в AndroidManifest.xml)
Вы также можете проверить каталог AOSP/cts/, чтобы получить общее представление о соглашениях по именованию и работе.