На этой странице описано, как запустить набор тестов на совместимость (Compatibility Test Suite, CTS) для оценки вашего виртуального устройства на основе исходного кода AOSP.
Создайте каракатицу
Перед запуском CTS создайте виртуальное устройство, которое вы хотите протестировать с помощью CTS. Для AOSP Cuttlefish выполните следующие действия:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebugmake -j
Создание CTS
CTS собирается отдельно от артефактов вашего устройства. Для сборки CTS следуйте этим инструкциям.
Из корневого каталога того же дерева, где был создан Cuttlefish, выполните следующие команды:
source build/envsetup.shm -j cts WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=false TARGET_PRODUCT=aosp_x86_64
Запуск многопользовательских экземпляров Cuttlefish
Из корневого каталога того же дерева, где был создан Cuttlefish, выполните следующие команды:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebuglaunch_cvd --num_instances=8 --daemon
После запуска экземпляров убедитесь, что каждое из устройств доступно по adb .
adb devicesРезультат должен выглядеть примерно так, как в приведенном ниже примере:
List of devices attached
127.0.0.1:6520 device
127.0.0.1:6521 device
127.0.0.1:6522 device
127.0.0.1:6523 device
127.0.0.1:6524 device
127.0.0.1:6525 device
127.0.0.1:6526 device
127.0.0.1:6527 device
Включите Wi-Fi в экземплярах Cuttlefish.
Некоторые тесты CTS завершаются неудачей, если Wi-Fi не включен. Чтобы включить Wi-Fi на всех локально запущенных устройствах Cuttlefish, следуйте этим инструкциям.
Из корневого каталога того же дерева, где был создан Cuttlefish, выполните следующие команды:
for SERIAL in $(adb devices | grep -E '127.+device$' | cut -f1); doadb -s ${SERIAL} install -r -g tools/tradefederation/core/res/apks/wifiutil/WifiUtil.apkadb -s ${SERIAL} shell su root svc wifi enableadb -s ${SERIAL} shell am instrument -e method "connectToNetwork" -e scan_ssid "false" -e ssid "VirtWifi" -w com.android.tradefed.utils.wifi/.WifiUtildone
Запустить стабильное подмножество CTS
Не все тесты CTS проходят проверку на Cuttlefish, поскольку некоторые из них больше ориентированы на физические устройства. Чтобы запустить CTS с планом тестирования cts-virtual-device-stable , который отслеживает последние стабильные версии на виртуальной платформе, следуйте этим инструкциям.
Из корневого каталога того же дерева, где был создан Cuttlefish, выполните следующие команды:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebugcts-tradefed run cts-virtual-device-stable --no-enable-parameterized-modules --max-testcase-run-count 2 --retry-strategy RETRY_ANY_FAILURE --reboot-at-last-retry --shard-count 8
Ожидается, что тест продлится от 20 до 25 минут, после чего необходимо распечатать сводку, подобную следующей:
=============== Summary ===============
Total Run time: 22m 8s
184/184 modules completed
Total Tests : 92483
PASSED : 92363
FAILED : 0
IGNORED : 71
ASSUMPTION_FAILURE: 49
Shard 0 used: [127.0.0.1:6522]
Shard 1 used: [127.0.0.1:6525]
Shard 2 used: [127.0.0.1:6524]
Shard 3 used: [127.0.0.1:6521]
Shard 4 used: [127.0.0.1:6520]
Shard 5 used: [127.0.0.1:6527]
Shard 6 used: [127.0.0.1:6526]
Shard 7 used: [127.0.0.1:6523]
============== End of Results ==============
Уборка
После завершения тестов остановите виртуальные устройства.
Из корневого каталога того же дерева, где был создан Cuttlefish, выполните следующие команды:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebugstop_cvd