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

פרק 18: מאת Veenita Joshi ופראקהאר אסטנה מאונטן ויו, קליפורניה (פברואר 2021)
הפרקים הקודמים

כיסוי הבדיקה מודד את כמות קוד המקור שמתבצע כאשר יישום מסוים והריצות של ערכות בדיקה. הפקת נתוני הכיסוי כוללת שלושה שלבים עיקריים: הידור עם אינסטרומנטציה, איסוף נתונים מהרצת בדיקות אינסטרומנטליות לאחר עיבוד הנתונים. לצוות הכיסוי יש כלים לאוטומציה של התהליך הזה.

סקריפט הכיסוי יכול ליצור דוחות כיסוי קוד בפקודה אחת בלבד, בלי לחכות לעדכון של 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/. מעבר לאוטומציה של התהליך, הסקריפט הזה מספק תכונות נוספות לצפייה בכיסוי הקוד לפי ספריות ורכיבים.

צילום מסך של פלט מסקריפט הכיסוי. תצוגת ספריה
צילום מסך של פלט מסקריפט הכיסוי. תצוגת רכיבים

הכלי כיסוי קוד מספק פירוט של כיסוי הקוד לפי ספרייה ומרכיב לכל ה-codebase, ל-Windows, ל-iOS, ל-Android, ל-Linux ול- ChromeOS.

כדי לשתף משוב: צריך לפנות אל code-coverage @ chromium.org או לדווח על באג ב-crbug.com.

משאבים