توضِّح هذه الصفحة كيفية تشغيل مجموعة أدوات اختبار التوافق (CTS) لتقييم جهازك الافتراضي استنادًا إلى رمز المصدر في مشروع Android مفتوح المصدر (AOSP) .
إنشاء Cuttlefish
قبل تشغيل CTS، أنشئ الجهاز الافتراضي الذي تريد اختباره باستخدام CTS. بالنسبة إلى Cuttlefish في AOSP، اتّبِع الخطوات التالية:
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