בדיקה

בדיקת פרויקטים

Google Openthread נבדק על ידי מספר כלים.

שילוב מתמשך

ב-OpenThread נעשה שימוש ב-GitHub Actions לצורך שילוב רציף (CI) ו- Codecov לצורך כיסוי קוד.

ב-CI מבצעים בדיקות build לכל הפלטפורמות לדוגמה באמצעות כלי האבטחה של הטמעת הנתונים של GNU, ולצורך סימולציה, באמצעות ההדמיה באמצעות GCC , Clang ו-Android. הוא גם יוצר ונבדק מול x86, ארכיטקטורת פלטפורמה ותצורות Thread. מידע נוסף על בדיקות ובדיקות ספציפיות זמין בזרימות עבודה.

בנוסף, ה-CI מבצע:

  1. בדיקות סגנון קוד באמצעות clang-format
  2. בדיקות יחידה
  3. בדיקות פונקציונליות נגד CLI, wpantund (עם toranj) ופייזל

OSS-Fuzz

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

כדאי לעיין במאגר של OpenThread כדי לראות את יעדי גרסת build הנוכחית.

בדיקת מוצרים

אפשר להשתמש בכלים הבאים כדי לבדוק את המוצר OpenThread משלכם.

Wireshark

Wireshark הוא מנתח פרוטוקול רשת בקוד פתוח עבור תנועה שפועלת בממשקי רשת פיזית ווירטואלית. פרוטוקול Thread נתמך ב-Wireshark 2.4.0 ואילך. תיעוד והורדות של הכלי הזה זמינים בכתובת wireshark.org.

מידע נוסף על התמיכה ב-Threads ב-Wireshark זמין במאמר Packet with Pyspinel.

פיפינל

Pyspinel הוא CLI של Python לפרוטוקול Spinel, המשמש להגדרה וניהול של CPS NCP או RCPs פתוחים. כלי ה-CLI הזה מתמקד בעיקר בבדיקות CI, אבל אפשר להשתמש בו באופן ידני כדי לנסות מופעים של Co-processer של OpenThread.

פיזנל משמש:

  • הוספת הדמיה של בדיקה של מעבד משותף לאינטגרציה רציפה.
  • אוטומציה של בדיקה של מיטות בדיקה שמריץות קושחה בתהליך עיבוד בחומרה.
  • ניפוי באגים של גרסת build של מעבדים משותפים ב-OpenThread.
  • המרת מעבד פתוח של OpenThread לאביזר חבילות.

למידע נוסף, יש לעיין ב-README במאגר Pyspinel.