Каракатица: запустить стабильный CTS

На этой странице описано, как запустить набор тестов совместимости (CTS) для оценки вашего виртуального устройства на основе исходного кода AOSP.

Построить каракатицу

Прежде чем запускать CTS, создайте виртуальное устройство, которое вы хотите протестировать с помощью CTS. Для AOSP Cuttlefish выполните следующие действия:

source build/envsetup.sh
lunch aosp_cf_x86_64_phone-userdebug
make -j

Построить CTS

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

Из корня того же дерева, где была построена Каракатица, выполните следующие команды:

source build/envsetup.sh
m -j cts WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=false TARGET_PRODUCT=aosp_x86_64

Запуск мультитенантных экземпляров Cuttlefish

Из корня того же дерева, где была построена Каракатица, выполните следующие команды:

source build/envsetup.sh
lunch aosp_cf_x86_64_phone-userdebug
launch_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, следуйте этим инструкциям.

Из корня того же дерева, где была построена Каракатица, выполните следующие команды:

for SERIAL in $(adb devices | grep -E '127.+device$' | cut -f1); do
adb -s ${SERIAL} install -r -g tools/tradefederation/core/res/apks/wifiutil/WifiUtil.apk
adb -s ${SERIAL} shell su root svc wifi enable
adb -s ${SERIAL} shell am instrument -e method "connectToNetwork" -e scan_ssid "false" -e ssid "VirtWifi" -w com.android.tradefed.utils.wifi/.WifiUtil
done

Запустите стабильное подмножество CTS

Не все тесты CTS проходят проверку на Cuttlefish, поскольку некоторые тесты больше ориентированы на физические устройства. Чтобы запустить CTS с планом тестирования cts-virtual-device-stable который отслеживает последние стабильные версии виртуальной платформы, следуйте этим инструкциям.

Из корня того же дерева, где была построена Каракатица, выполните следующие команды:

source build/envsetup.sh
lunch aosp_cf_x86_64_phone-userdebug
cts-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 ==============

Очистка

После завершения тестов остановите виртуальные устройства.

Из корня того же дерева, где была построена Каракатица, выполните следующие команды:

source build/envsetup.sh
lunch aosp_cf_x86_64_phone-userdebug
stop_cvd