Каковы правильные команды для запуска планов тестирования CTS и VTS? - PullRequest
0 голосов
/ 26 сентября 2018

Я собираюсь настроить тесты VTS и CTS для нашего AOSP.Оба набора тестов используют тестовую среду Торговой федерации.Что меня смущает, так это как запустить разные планы тестирования.

В соответствии с документацией (https://source.android.com/compatibility/vts/systems) для VTS необходимо решить, какой план тестирования запустить. И затем использовать команду запуска для его проверки.

Например, если я хочучтобы запустить план тестирования 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 и более ранние версии)введите список планов для просмотрасписок планов тестирования в хранилище или список пакетов для просмотра списка пакетов тестирования в хранилище.Для CTS v2 (Android 7.0 и более поздних версий) введите список модулей, чтобы увидеть список тестовых модулей.

В качестве альтернативы, запустите план CTS по вашему выбору из командной строки, используя: cts-tradefed run cts --plan

При тестировании он, кажется, также работает.Два мысли заставляют меня задуматься.Прежде всего, план тестирования в данном примере обозначается заглавными буквами, то есть «CTS» вместо «cts».Во-вторых, команда run, похоже, здесь работает совершенно иначе.Для меня имеет смысл, что run -команда является встроенной командой 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 соответственно.Это просто глупый вопрос, и я совершенно не прав?Поскольку эти тесты важны для нашей совместимости, я хочу быть уверенным, что они выполняются правильно.

1 Ответ

0 голосов
/ 05 декабря 2018

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

...