Каковы правильные команды для запуска планов тестирования 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/, чтобы получить общее представление о соглашениях по именованию и работе.

Другие вопросы по тегам