The Chromium Chronicle رقم 14: إضافة اختبارات إلى الشلال

الحلقة 14: أداء "تشاويانغ لي" في قناة MTV، و"إريك ألشاير" في قناة TOK (تشرين الأول/أكتوبر 2020)
الحلقات السابقة

هل تريد رصد حالات التراجع عن الميزة الجديدة في Chrome؟ إضافة اختبار العرض الإعلاني بدون انقطاع (البنية الأساسية المستمرة للإنشاء والاختبار في Chrome).

هناك العديد من أدوات الإنشاء في العرض الإعلاني بدون انقطاع في Chrome والتي تُجري اختبارات على مجموعة متنوعة من الأساسية. توضح هذه المقالة كيفية إضافة مجموعة اختبار إلى حزمة حالية البنّاء. قبل المتابعة، ضع في اعتبارك الأسئلة التالية:

هل يجب أن يتم نشر الاختبارات الجديدة في مجموعة جديدة تمامًا، أم إضافتها إلى مجموعة حالية؟

  • يتم تنظيم الاختبارات في مجموعات الاختبار حسب قرب الموقع المصدر والمظهر. إذا لم تستطع اختباراتك الجديدة أن تتناسب منطقيًا مع أي مجموعة حالية، فمن المحتمل بحاجة إلى مجموعة جديدة.

هل يجب إجراء الاختبارات على منصة إنشاء عامة أو منصة إنشاء داخلية؟

  • استخدِم أداة إنشاء داخلية إذا كان الرمز متوفّرًا في مستودع داخلي أو في بيانات سرية.

هل يجب إجراء الاختبارات في "لوحة معلومات التجارة الإلكترونية" (CI) الأساسية أو في لوحة التحكّم الرئيسية (CI) الرئيسية، أم يجب إجراء الاختبار في قائمة الانتظار (CQ)؟

  • لمعلوماتك، CI تحتاج إلى المراقبة الذاتية وتُستخدم لإجراء اختبار التحسين أو التجارب.
  • يراقب العمدون اختبارات CI الرئيسية بانتظام.
  • يحظر CQ إرسال CL عند التعذُّر ولكنه يستهلك المزيد من الموارد الأساسية. يجب دائمًا أن تبدأ الحزمة الجديدة من CI قبل ترقيتها إلى CQ.
  • إذا لم تكن متأكدًا، يمكن أن يساعدك فريق EnngProd في منصتك في اتخاذ القرار المناسب.

لديّ حزمة اختبار قيد التشغيل في CI، كيف يمكنني إضافتها إلى CQ؟ / ماذا لو هل تحتاج إلى منصة إنشاء جديدة؟

كيفية إضافة مجموعة اختبار إلى أداة إنشاء حالية

من أجل إضافة مجموعة اختبار إلى أداة إنشاء حالية، يجب إعداد بعض الملفات. في //src/testing/buildbot/:

  1. إنشاء مفتاح في gn_isolate_map.pyl لمجموعة الاختبار الجديدة مع معلومات تصنيف النوع واختبار الاستهداف.
  2. أضِف هذا المفتاح إلى مجموعة اختبار في test_suites.pyl. (يمكنك العثور على التعيين من اسم أداة الإنشاء إلى مجموعات الاختبار في أداة الإنشاء في waterfalls.pyl.)

    'all_simulator_tests': {
      'previously_existing_test_suite': {},
      'exciting_new_feature_test_suite': {},
    },
    
  3. تعديلات أكثر دقة

    • يحتوي mixins.pyl على وسيطات يمكن تطبيقها على مجموعة من الاختبارات على مستويات المجموعات المختلفة.
    • يساعد variants.pyl في تشغيل مجموعة في حالات متعدّدة. باستخدام وسيطات مختلفة.
  4. إعادة إنشاء ملفات الإعداد عن طريق التشغيل generate_buildbot_json.py

بعد ذلك، الأمر بسيط هو التحقق من تغييرات التهيئة؛ سيختار البنّائون الذين يديرون هذه الحزمة الاختبارات الجديدة تلقائيًا، سيبدأ تدفق النتائج على واجهة الويب لأداة الإنشاء على الشلال - مكتمل بمعلومات تصحيح الأخطاء في حال حدوث إخفاق.