PERL2LCOV(1) LCOV PERL2LCOV(1)

perl2lcov - تبدیل داده‌های پوشش کد پرل از Devel::Cover به قالب lcov

بخش راهنما
1
گروه راهنما
ابزارهای LCOV

تبدیل داده‌های پوشش کد پرل از Devel::Cover به قالب lcov

perl2lcov [--output filename] [--testname name] [options] cover_db+

ابزار perl2lcov اطلاعات پوشش کد پرل را در یک یا چند دایرکتوری داده‌های پوشش (تولیدشده توسط ماژول Devel::Cover در پرل) پیمایش کرده و آن‌ها را به قالب .info در LCOV تبدیل می‌کند.

علاوه بر گزینه‌های عمومی که توسط سایر ابزارهای مجموعه LCOV پشتیبانی می‌شوند (مانند --comment، --version-script، --ignore-error، --substitute، --exclude و غیره)، گزینه‌های اختصاصی این ابزار عبارتند از:

داده‌های LCOV در فایل مشخص‌شده نوشته خواهند شد. در صورت عدم استفاده از این گزینه، داده‌ها در فایل perlcov.info در دایرکتوری جاری نوشته می‌شوند.
اطلاعات پوشش با نام موردآزمون ارائه‌شده مرتبط خواهند شد. ارائه نام الزامی نیست.

برای جزئیات سایر گزینه‌ها و تنظیمات پیکربندی پشتیبانی‌شده، lcov(1) <file://../man/lcov.1.html> و lcovrc(5) <file://../man/lcovrc.5.html> را ببینید.

تولید داده‌های پوشش کد پرل و تبدیل آن به قالب LCOV:

# نوشتن داده‌های پوشش خط، شاخه، شرط و زیرروال پرل
# در 'myPerlDB' در دایرکتوری جاری
$ perl -MDevel::Cover=-db,./myPerlDB,-coverage,statement,branch,condition,subroutine,-silent,1 myScript.pl
# یا: نوشتن تمام انواع پوشش شناخته‌شده توسط پرل در 'myPerlDB2'
# توجه داشته باشید که perl2lcov انواعی را که پشتیبانی نمی‌کند
# (pod، time و path) نادیده می‌گیرد
$ perl -MDevel::Cover=-db,./myPerlDB2,-silent,1 myScript.pl
# اجرای 'cover' از بسته نصبی Devel::Cover برای استخراج داده‌های
# زمان اجرا به یک شکل کاربردی. این کار همچنین یک گزارش HTML
# در 'myCoverDB' ایجاد می‌کند
$ cover myCoverDB -silent 1
# اجرای مبدل perl2lcov برای تولید داده‌های با قالب LCOV:
$ perl2lcov -o perldata.info [--testname myTestName] myCoverDB
# تولید یک گزارش پوشش کد در قالب HTML:
$ genhtml -o html_report perldata.info

داده‌های تولیدشده توسط Devel::Cover همیشه از نظر داخلی سازگار نیستند. برای مثال:

  • برخی از توابعی که هرگز فراخوانی نمی‌شوند در داده‌های پوشش کد ظاهر نمی‌گردند.
  • گاهی ممکن است یک خط اجرا شده به نظر برسد (شمارش اجرای غیرصفر)، اما هیچ‌یک از عبارات شاخه‌ای درون آن ارزیابی نشده باشند. (اگر خط اجرا شده باشد، دست‌کم یکی از شرایط شاخه باید ارزیابی شده باشد.)

این وضعیت می‌تواند باعث شود ابزارهای مختلف در بسته LCOV خطاهایی از نوع inconsistent تولید کنند.

در این حالت، می‌توانید:

  • بررسی‌های سازگاری را کاملاً نادیده بگیرید: بخش skip_consistency_checks در lcovrc(5) <file://../man/lcovrc.5.html> را ببینید.
  • خطا را نادیده بگیرید: بخش --ignore-error در genhtml(1) <file://../man/genhtml.1.html> را ببینید.
  • کد مشکل‌ساز را مستثنی کنید: بخش‌های --exclude، --filter و --omit-lines در genhtml(1) <file://../man/genhtml.1.html> را ببینید.

Henry Cox <<henry.cox@mediatek.com>>

lcov(1) <file://../man/lcov.1.html>, genhtml(1) <file://../man/genhtml.1.html>, lcovrc(5) <file://../man/lcovrc.5.html>

•
مستندات ماژول Devel::Cover

https://metacpan.org/pod/Devel::Cover

2024-2026, LCOV Project

2026-07-07 2.5