בדיקת סטטוס המערכת

בוד��י סטטוס מערכת (SSC) מוגדרים בהגדרה ברמת החבילה, להריץ בין כל מודול. הם מבצעים בדיקות כדי לקבוע אם המודול השתנה ולא שחזרנו כמה מצבים נתונים, כמו שינוי מאפיין מערכת עם ערך מסוים.

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

שימוש משני הוא גם שחזור של המצב המקורי במידת האפשר, לדוגמה לסגור את מגן המקשים אם הוא נשאר פתוח.

הגדרת XML של בודק סטטוס המערכת

<system_checker class="com.android.tradefed.suite.checker.KeyguardStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.LeakedThreadStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.SystemServerStatusChecker" />

קמפיינים חכמים לשופינג מוגדרים מתחת לתג system_checker בהגדרה של נתונים לגבי מסחר אלקטרוני XML.

הטמעה

כל קמפיין שופינג חכם (SSC) חייב להטמיע את ISystemStatusChecker ממשק, שמספק את שתי השיטות העיקריות preExecutionCheck ו-postExecutionCheck שרצות לפני ואחרי כל הפעלה של מודול.

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

כמה דוגמאות הטמעות קיימים ב-Trended. מומלץ להתמקד בבדיקה אחת בכל הטמעה כדי לשפר את השימוש החוזר. לדוגמה, SystemServerStatusCheck בודק אם התהליך system_server הופעל מחדש במכשיר במהלך של חבילת הבדיקה. בpostExecutionCheck תתבצע קריאה אל deviceSoftRestarted, שמוגדר NativeDevice כדי לבדוק אם התהליך system_server הופעל מחדש.

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

היכן הן מוגדרות ב-CTS?

בודקי סטטוס המערכת של CTS מוגדרים ב- /test/Suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml.

איך לאתר כשלים בבודקים

כברירת מחדל, כשלים בבודק המערכת מוצגים רק ביומנים ובדוחות על באגים. תועד להפעלה עם שם בפורמט bugreport-checker-post-module-<module name>.zip

כך תוכלו לגלות אחרי איזה מודול נוצר דוח על באג.

אפשר להפוך את דוח בודק המערכת לכשל בדיקה בעצמו על ידי להגדיר את האפשרות --report-system-checkers ל-true. התוצאה של הרצת הבדיקה הוצגה כנכשלה והסיבה לכישלון היא בודק הסטטוס היא בדיקה ספציפית.