Cuttlefish: เรียกใช้ CTS เวอร์ชันเสถียร

หน้านี้อธิบายวิธีเรียกใช้ Compatibility Test Suite (CTS) เพื่อประเมินอุปกรณ์เสมือนตามซอร์สโค้ด AOSP

สร้างหมึกกระดอง

ก่อนเรียกใช้ CTS ให้สร้างอุปกรณ์เสมือนที่ต้องการทดสอบด้วย CTS สำหรับ หมึกกระดอง AOSP ให้ทำตามขั้นตอนต่อไปนี้

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แผนการทดสอบที่ติดตามเวอร์ชันล่าสุดที่เสถียรในแพลตฟอร์มเสมือนจริง ให้ทำตามวิธีการต่อไปนี้

จากรูทของต้นไม้เดียวกันกับที่สร้าง 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 ==============

ทำความสะอาดข้อมูล

เมื่อการทดสอบเสร็จสิ้นแล้ว ให้หยุดอุปกรณ์เสมือน

จากรากของต้นเดียวกับที่สร้างหมึกกระดอง ให้เรียกใช้คำสั่งต่อไปนี้ คำสั่ง:

source build/envsetup.sh
lunch aosp_cf_x86_64_phone-userdebug
stop_cvd