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

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

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

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

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

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

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

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

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

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

لديّ حزمة اختبار مفعّلة في 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.

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