Chromium Chronicle מס' 18: כיסוי קוד Chromium

פרק 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.

משאבים