اختبار جوجل

عادةً ما يصل GoogleTest (GTest، والذي يُطلق عليه أحيانًا "الاختبارات الأصلية") للنظام الأساسي إلى تراخيص HAL ذات المستوى الأدنى أو ينفذ IPC أوليًا مقابل خدمات النظام المختلفة. ولهذا السبب، عادة ما يكون نهج الاختبار مقترنًا بشكل وثيق بالخدمة قيد الاختبار.

للتكامل مع البنية الأساسية للاختبار المستمر، قم ببناء اختبارات GTest الخاصة بك باستخدام إطار عمل GTest .

أمثلة

فيما يلي بعض الأمثلة على GTest في مصدر النظام الأساسي:

ملخص الخطوات

  1. اتبع مثال إعداد وحدة GTest .

  2. لتضمين تبعيات GTest تلقائيًا، استخدم قاعدة البناء BUILD_NATIVE_TEST في تكوين وحدة الاختبار الخاصة بك.

  3. اكتب تكوينًا اختباريًا، متبعًا الأمثلة للخيارات البسيطة والمعقدة .

  4. أنشئ وحدة الاختبار باستخدام mmm للبنيات التزايدية، أو mma للبنيات الكاملة:

    make hwui_unit_tests -j
    
  5. قم بتشغيل الاختبار محليًا باستخدام Atest :

      atest hwui_unit_tests
    

    يمكنك أيضًا إضافة وسائط إلى اختبارات GTest الخاصة بك. فيما يلي الحجج المفيدة بشكل خاص:

    • تحدد native-test-flag قيم إشارة إضافية لتمريرها إلى أمر GTest Shell.
    • تحدد native-test-timeout قيمة مهلة الاختبار بالميكروثانية.

      يستخدم رمز المثال التالي كلتا الوسيطتين:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. قم بإجراء الاختبار باستخدام أداة اختبار الاتحاد التجاري:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. التثبيت والتشغيل يدويًا:

    1. ادفع ثنائي الاختبار الذي تم إنشاؤه إلى جهازك:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. قم بتشغيل GTest وقم بتنفيذ الاختبار عن طريق استدعاء الاختبار الثنائي على الجهاز:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      لمزيد من المعلومات حول تخصيص تنفيذ الاختبار، قم بإضافة المعلمة --help إلى الاختبار الثنائي الخاص بك. لمزيد من المعلومات حول المعلمات، راجع دليل GTest المتقدم .