אימות וניפוי באגים

כדי לאמת את מקבץ ה-Bluetooth ולנפות באגים, משתמשים בכלים שסופקו בבדיקות של AOSP ובבדיקות של קבוצת תחומי העניין המיוחדים (SIG) של Bluetooth.

בדיקה ואימות

כדי לבדוק את מקבץ ה-Bluetooth , AOSP מספק שילוב של בדיקות יחידה, בדיקות CTS וכלים עבור חבילת הכוונון של פרופיל Bluetooth.

בדיקות יחידה ב-AOSP

AOSP כולל בדיקות פונקציונליות ובדיקות יחידה לסטאק ה-Bluetooth שמוגדר כברירת מחדל. הבדיקות האלה ממוקמות ב /packages/modules/Bluetooth/system/test/. כדי להריץ את בדיקות ה-AOSP:

  1. עוצרים את סביבת זמן הריצה של Android:
    adb shell stop
  2. בספריית הבדיקה, מריצים את קובץ ההפעלה של המעטפת וכוללים אפשרויות אם רוצים להריץ בדיקה ספציפית או חבילת בדיקות ספציפית:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. כשהבדיקות יסתיימו, מפעילים מחדש את זמן הריצה של Android:
    adb shell start

הרשימה של שמות הבדיקות מופיעה ב- /packages/modules/Bluetooth/system/test/README.md.

חבילת כוונון הפרופיל

Bluetooth SIG מספק את חבילת הכוונון של פרופיל Bluetooth (PTS), כלי בדיקה ליכולת פעולה הדדית של פרוטוקול ופרופיל. מידע נוסף זמין באתר חבילת כוונון של פרופיל Bluetooth.

בדיקות CTS

החבילה לבדיקת תאימות (CTS) כוללת בדיקות של סטאק Bluetooth. השירותים האלה נמצאים ב cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

אפשרויות לניפוי באגים

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

ניפוי באגים באמצעות דוחות איתור באגים

כדי לבדוק את הסטטוס של שירות Bluetooth באמצעות dumpsys, משתמשים בפקודה הבאה:

adb shell dumpsys bluetooth_manager

כברירת מחדל, כל ההודעות ביומן הן ברמת מעקב 2. ב- system/bt/conf/bt_stack.conf אפשר לקבל מידע נוסף על רמות הרישום ביומן ולשנות את רמות הרישום ביומן בפרופילים שונים.

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

  1. הרשמה ל- btsnooz.py.
  2. מחלצים את גרסת הטקסט של דוח הבאג.
  3. מריצים את הפקודה btsnooz.py בגרסת הטקסט של הדוח על הבאג:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

ניפוי באגים באמצעות יומנים

ב-Android מגרסה 4.4 ואילך אפשר לאסוף באופן ידני יומני BTSnoop, שדומים לפורמט snoop ב-RFC 1761. היומנים האלה מתעדים את חבילות ה-Host Controller Interface (HCI). ברוב מכשירי Android, היומנים מאוחסנים ב-data/misc/bluetooth/logs.

מטעמי פרטיות, התכונה 'בזיכרון' BTSnoop פועלת כל הזמן ומתעדת רק מידע ואירועים שאינם אישיים. כדי לרשום את כל הנתונים, המשתמש צריך להפעיל snoop של Bluetooth HCI. כדי לעשות את זה:

  1. מפעילים את אפשרויות למפתחים במכשיר.
  2. בתפריט אפשרויות למפתחים, מפעילים את המתג Enable Bluetooth HCI snoop Log.
  3. כדי שהרישום ביומן ייכנס לתוקף, צריך להפעיל מחדש את ה-Bluetooth.