The Chromium Chronicle #18: تقرير Chromium Code Coverage

الحلقة 18: من تأليف "فينيتا جوشي" و"براخار أسانا" في ماونتن فيو، كاليفورنيا (فبراير 2021)
الحلقات السابقة

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

يمكن للنص البرمجي للتغطية إنشاء تقارير تغطية الرموز البرمجية من خلال أمر واحد فقط، بدون انتظار تعديل واجهة مستخدم Gerrit. يتوفّر هذا النص البرمجي حاليًا على أنظمة التشغيل Linux وMac وiOS وChromeOS.

إليك نموذج عن الاستخدام:

$ gn gen out/coverage \
    --args='use_clang_coverage=true is_component_build=false'
$ python tools/code_coverage/coverage.py \
    crypto_unittests url_unittests \
    -b out/coverage -o out/report \
    -c 'out/coverage/crypto_unittests' \
    -c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL' \
    -f url/ -f crypto/

يؤدي هذا إلى إنشاء وإدارة crypto_unittests وurl_unittests targets. بالنسبة إلى url_unittests، يتم إجراء اختبار URLParser.PathURL فقط. تتم فلترة تقرير التغطية لتضمين الملفات والأدلة الفرعية فقط ضِمن url/ وcrypto/. بالإضافة إلى التشغيل الآلي لهذه العملية، يوفّر هذا النص البرمجي ميزات إضافية لعرض تغطية الرموز البرمجية حسب الأدلة والمكونات.

لقطة شاشة لمخرجات نص التغطية عرض الدليل
لقطة شاشة لمخرجات نص التغطية عرض المكون

توفّر أداة "تغطية الرموز" تفاصيل عن تغطية الرموز البرمجية حسب الدليل والمكوِّن لقاعدة الرموز بأكملها على أنظمة التشغيل Windows وiOS وAndroid وLinux وChromeOS.

مشاركة ملاحظاتك: يمكنك التواصل مع code-coverage @ chromium.org أو الإبلاغ عن خطأ على crbug.com.

المراجِع