Chromium Chronicle #18: پوشش کد کرومیوم

قسمت 18: توسط Veenita Joshi و Prakhar Asthana در Mountain View, CA (فوریه 2021)
قسمت های قبلی

پوشش آزمایشی میزان اجرای کد منبع زمانی که یک مجموعه آزمایشی خاص اجرا می شود را اندازه گیری می کند . تولید داده‌های پوشش دارای سه مرحله اصلی است: جمع‌آوری با ابزار دقیق، جمع‌آوری داده‌ها از اجرای آزمایش‌های ابزار دقیق، و پس پردازش داده‌ها. تیم پوشش ابزارهایی برای خودکارسازی این فرآیند دارد.

اسکریپت Coverage می تواند گزارش های پوشش کد را تنها در یک دستور تولید کند ، بدون اینکه منتظر بروزرسانی Gerrit UI باشد . این اسکریپت در حال حاضر در 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/ باشد. جدا از خودکارسازی فرآیند، این اسکریپت ویژگی‌های اضافی را برای مشاهده پوشش کد توسط دایرکتوری‌ها و مؤلفه‌ها فراهم می‌کند .

اسکرین شات خروجی از اسکریپت پوشش. نمای دایرکتوری
اسکرین شات خروجی از اسکریپت پوشش. نمای کامپوننت

ابزار Code Coverage یک تفکیک پوشش کد بر اساس فهرست و مؤلفه برای کل پایگاه کد، برای Windows، iOS، Android، Linux و ChromeOS ارائه می‌کند.

بازخورد خود را به اشتراک بگذارید: با code-coverage @ chromium.org تماس بگیرید یا یک اشکال را در crbug.com ثبت کنید.

منابع