בדיקה

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

ה-OpenThread ש-Google פרסמה נבדק על ידי מספר כלים.

אינטגרציה רציפה (CI)

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

ב-CI מבצעים בדיקות build לכל הפלטפורמות באמצעות ה-Toolchain של GNU Arm הטמעת. היא גם בנויה ונבחנת מול x86, ארכיטקטורת פלטפורמה ותצורות שרשור. מידע נוסף על בדיקות ובדיקות ספציפיות מפורט במאמר זרימות עבודה.

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

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

OSS-פאז

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

תוכלו להיעזר במאגר של OpenThread כדי לראות מהם יעדי fuzzing הנוכחיים.

בדיקת מוצרים

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

Wireshark

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

למידע נוסף על האופן שבו פרוטוקול Thread נתמך ב-Wireshark, תוכלו לקרוא מידע על חבילות באמצעות Pyspinel.

פירסינג

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

ספיניל משמש ל:

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

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