Cuttlefish: 안정화 버전 CTS 실행

이 페이지에서는 호환성 테스트 모음(CTS)을 실행하여 AOSP 소스 코드를 기반으로 한 가상 기기를 평가하는 방법을 설명합니다.

Cuttlefish 빌드

CTS를 실행하기 전에 CTS로 테스트하려는 가상 기기를 빌드합니다. AOSP Cuttlefish의 경우 다음을 실행합니다.

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

CTS 빌드

CTS는 기기 아티팩트와 별도로 빌드됩니다. CTS를 빌드하려면 다음 안내를 따르세요.

Cuttlefish가 빌드된 동일한 트리의 루트에서 다음 명령어를 실행합니다.

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

멀티 테넌트 Cuttlefish 인스턴스 실행

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

Cuttlefish 인스턴스에서 Wi-Fi 사용 설정

일부 CTS 테스트는 Wi-Fi가 사용 설정되어 있지 않으면 실패합니다. 로컬에서 호스팅되는 모든 Cuttlefish 기기에서 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-virtual-device-stable 테스트 계획으로 CTS를 실행하려면 다음 안내를 따르세요.

Cuttlefish가 빌드된 동일한 트리의 루트에서 다음 명령어를 실행합니다.

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 ==============

정리

테스트가 완료되면 가상 기기를 중지합니다.

Cuttlefish가 빌드된 동일한 트리의 루트에서 다음 명령어를 실행합니다.

source build/envsetup.sh
lunch aosp_cf_x86_64_phone-userdebug
stop_cvd