זוהי הפקודה ggcov-webdb שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו בחינם כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
ggcov-webdb - יצירת מסד נתונים ביניים עבור ממשק האינטרנט של ggcov
תַקצִיר
ggcov-webdb [[-r] בספרייה|פילה]...
תיאור
Ggcov-webdb יוצר מסד נתונים ביניים ועץ של קבצי מקור מפיתוח
ספרייה, בצורה של כדור טארבול. הקבצים בטרבול זה משמשים מאוחר יותר את ה-
ggcov דפי PHP להצגת נתוני כיסוי בדיקה לדפדפני WWW.
נתוני כיסוי הבדיקה מופקים על ידי תוכניות C ו-C++ המוכללות עם gcc -fprofile-arcs
-הכיסוי הגבוה ביותר. אז השילוב של ggcov-webdb ו ggcov דפי PHP זה בעצם א
תחליף WWW עבור gcov תוכנית שמגיעה עם gcc.
גישת מסד הנתונים הביניים משמשת לטיפול במקרה הנפוץ שבו הפיתוח
מכונה ומחשב שרת האינטרנט נפרדים. מסד הנתונים מכיל נתוני כיסוי ב
טופס אינדקס, בלתי תלוי בפלטפורמה, ידידותי ל-PHP. כי פורמט מסד הנתונים הוא
ניתן לפרוס דפי PHP ללא תלות בפלטפורמה על שרתי אינטרנט שונים
ארכיטקטורה למכונות הפיתוח. למעשה ה ggcov דפי אינטרנט תומכים בכל אינטרנט
שרת שעומד בקריטריונים הבאים:
· תומך ב-PHP גרסה 4.3 ואילך, וכן
· מספק את DBA הרחבה עם ה db4 ספק (אשר ggcov משתמש כדי לקרוא את
מסד נתונים ביניים), ו
· מספק את gd הרחבה (אשר ggcov משתמש ליצירת סרגלי הבר על
עמוד סיכום).
השמיים Sourceforge.net שרת אינטרנט של פרויקט הוא דוגמה לשרת כזה.
Ggcov-webdb מייצר Tarball gzipped המכיל את מסד הנתונים הביניים עצמו ו
עותקים של כל קבצי המקור המוזכרים במסד הנתונים. זה כל ה
מידע שה ggcov דפי אינטרנט צריכים, בחבילה אחת שנוח להעתיק ממנה
מכונת הפיתוח לשרת האינטרנט. בדרך כלל הטארבול הזה יחולץ לתוך א
ספריית משנה של /var/ggcov/tests/ בשרת האינטרנט.
ארגומנטים משמשים כדי לציין כיצד למצוא קבצי נתוני כיסוי. הטיעונים יכולים
שילובים של:
בספרייה
הספרייה נסרקת לאיתור קבצי מקור, אשר מטופלים כאילו היו
שצוין בשורת הפקודה (פרט לכך שקובצי נתוני כיסוי חסרים נמצאים בשקט
התעלמו). אם ה -r הדגל בתוקף, ספריות המשנה נסרקות באופן רקורסיבי.
ניתן לציין מספר ספריות והן נסרקות לפי הסדר שניתן.
הפעלה
קובץ ההפעלה נסרק לאיתור באגים ברשומות המכילות קובץ מקור
שמות, וכל קובץ מקור שקיים מטופל כאילו צוין ב
שורת הפקודה (פרט לכך שמתעלמים בשקט מקבצי נתוני כיסוי חסרים).
כל ספריות משותפות שבהן תלוי קובץ ההפעלה נסרקות גם כן. מרובות
ניתן לציין קובצי הפעלה והם נסרקים לפי הסדר שניתן. תכונה זו היא
זמין רק בחלק מהפלטפורמות (לדוגמה, i386-linux).
קובץ מקור
האם קובץ רגיל כלשהו מסתיים באחת מסיומת הקבצים .c, . DC, .cxx, .cpp, או
.C. קובצי המקור מותאמים לקבצי נתוני הכיסוי המתאימים להם (.gcno ו
.gcda קבצים, או .bb, .bbg, ו .da קבצים עם מהדרים ישנים יותר) וקבצי אובייקט מאת
חיפוש אחר קובץ באותו שם בסיס והסיומת המתאימה תחילה
אותה ספרייה כמו קובץ המקור ולאחר מכן בכל הספריות שצוינו ב
שורת הפקודה (בסדר שצוינו).
אפשרויות
-f test.tgz, --קובץ פלט=test.tgz
צור פלט לשם הקובץ test.tgz במקום ברירת המחדל ggcov.webdb.tgz. ה
שם קובץ מיוחד - יכול לשמש ליצירת פלט ל-stdout.
-o dir, ---object-directory=dir
הוסף את הספרייה dir לנתיב החיפוש של קבצי אובייקט וקבצי נתוני כיסוי.
-r, - רקורסיבי
כאשר מציינת ספריה בשורת הפקודה, חפש קבצי נתוני כיסוי
באופן רקורסיבי בכל ספריות הילדים.
-X סמלים, --suppress-ifdef=סמלים
אל תכלול בסטטיסטיקה או בסיכומים, קוד בתוך הנחיות קדם-מעבד C
אשר תלויים בכל אחד מהנתונים סמלים. ניתן לתת סמל אחד או יותר,
מופרדים בפסיקים או ברווח לבן. Ggcov-webdb מבין את קבוצת המשנה הבאה של
ערכת הפקודות הקדם-מעבד C:
· #אם סמל
· #אם מוגדר(SYMBOL)
· #ifdef סמל
· #ifndef סמל
· #else
· #endif
לדוגמה, -X DEBUG ידכא את fprintf() תתקשר בקוד הזה:
לא חתום
my_function(לא חתום int x)
{
x += 42;
#ifdef DEBUG
fprintf(stderr, "my_function: x=%u\n", x);
#endif
החזר x;
}
אפשרות זו שימושית לדחיקת קוד תשתית בדיקה, קוד ניפוי באגים או
קוד אחר אשר מורכב לקובץ ההפעלה של בדיקת הכיסוי אך הכיסוי שלו
אינו משמעותי.
-Y מילים, --suppress-comment=מילים
אין לכלול בסטטיסטיקה או בסיכומים, קוד על שורות המכיל גם א
הערה בשורה אחת הכוללת רק אחת מהנתונים מילים. סמל אחד או יותר
ניתן לתת, מופרד בפסיקים או ברווח לבן. למשל, ציון -Y
התעלם ממני ידכא את לִטעוֹן() בקוד זה:
לא חתום
my_function(לא חתום int x)
{
x += 42;
assert(x >= 42); /* התעלם ממני */
החזר x;
}
אפשרות זו שימושית לדחיקת קוד תשתית בדיקה, קוד ניפוי באגים או
קוד אחר אשר מורכב לקובץ ההפעלה של בדיקת הכיסוי אך הכיסוי שלו
אינו משמעותי.
-Z מילת התחלה, מילת קצה,...
--suppress-comment-between=מילת התחלה, מילת קצה,...
אל תכלול בסטטיסטיקה או בסיכומים, קוד על שורות בין אלה המכילות א
הערה בשורה אחת הכוללת בלבד מילת התחלה וההערה הבאה בשורה אחת
הכוללת בלבד סיום. ניתן לתת שני סמלים או יותר, בזוגות, מופרדים על ידי
פסיקים או רווח לבן. לדוגמה, -Z להתחיל להתעלם, להתעלם ידכא את
כל הפונקציה בקוד זה:
/* התחל להתעלם */
לא חתום
my_function(לא חתום int x)
{
x += 42;
החזר x;
}
// ENDIGNORE
אפשרות זו שימושית לדחיקת קוד תשתית בדיקה, קוד ניפוי באגים או
קוד אחר אשר מורכב לקובץ ההפעלה של בדיקת הכיסוי אך הכיסוי שלו
אינו משמעותי.
דוגמאות
צור מסד נתונים ביניים עבור כל המקורות הזמינים בקובץ ההפעלה א.אאוט (עַל
חלק מהפלטפורמות בלבד), והתקן כבדיקה Foo במיקום ברירת המחדל של הבדיקות.
mkdir /var/ggcov/tests/foo
ggcov-webdb -f - א.אאוט |
(CD /var/ggcov/tests/foo ; זפת -xzf - )
צור מסד נתונים ביניים עבור כל מקור ה-C בספרייה הנוכחית.
ggcov-webdb *.c
צור מסד נתונים ביניים עבור כל מקור ה-C בספריה אחת שבה האובייקט
קבצים וקבצי נתוני כיסוי בדיקה נמצאים בספריות שונות:
ggcov-webdb /foo/obj/ /foo/cov-data/ /foo/src/
השתמש ב-ggcov-webdb באינטרנט באמצעות שירותי onworks.net