本頁介紹如何運行兼容性測試套件 (CTS)以根據 AOSP 源代碼評估您的虛擬設備。
建築墨魚
在運行 CTS 之前,構建要使用 CTS 測試的虛擬設備。對於 AOSP 墨魚,請執行以下操作:
source build/envsetup.shlunch aosp_cf_x86_64_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_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
在 Cuttlefish 實例上啟用 Wi-Fi
如果未啟用 Wi-Fi,某些 CTS 測試會失敗。要在所有本地託管的 Cuttlefish 設備上啟用 Wi-Fi,請按照以下說明操作。
從構建 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-virtual-device-stable測試計劃運行 CTS,該測試計劃跟踪虛擬平台上最新的穩定內容,請按照這些說明進行操作。
從構建 Cuttlefish 的同一棵樹的根目錄,運行以下命令:
source build/envsetup.shlunch aosp_cf_x86_64_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_phone-userdebugstop_cvd