الاختبار

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

اختبار المشاريع

يتم اختبار OpenThread التي أصدرتها Google بواسطة عدد من الأدوات.

التكامل المستمر

يستخدم OpenThread إجراءات GitHub للدمج المستمر (CI) وCodecov لتغطية الرموز.

يُجري CI عمليات فحص للإصدارات مع جميع نماذج الأنظمة الأساسية باستخدام سلسلة أدوات GNU الذراع المضمَّنة وللمثال الذي تمت محاكاته باستخدام GCC وClang وAndroid. كما يختبر أيضًا واختباره مقارنةً بأنظمة x86 وبنية النظام الأساسي وتهيئات جهاز سلسلة المحادثات. لمزيد من المعلومات عن اختبارات واختبارات معيّنة، اطّلِع على سير العمل.

بالإضافة إلى ذلك، تؤدي أداة CI ما يلي:

  1. عمليات التحقّق من نمط الرمز باستخدام clang-format
  2. اختبارات الوحدات
  3. الاختبارات الوظيفية مقابل واجهة سطر الأوامر وwpantund (مع toranj) وPyspinel

نظام التشغيل OSS-Fuzz

تم اختبار OpenThread ضبابيًا باستخدام OSS-Fuzz. في أسلوب الاختبار هذا، يتم إرسال مدخلات غير صالحة وعشوائية بمعدل تكرار وحجم كبير للبرامج من أجل العثور على مشاكل مثل تسرب الذاكرة أو تعطّل الذاكرة.

راجع مستودع OpenThread للحصول على أهداف الإصدار الحالي ذات التفاصيل المنسّقة.

اختبار المنتج

استخدم الأدوات التالية لاختبار منتجك الخاص في OpenThread.

Wireshark

Wireshark هي أداة لتحليل بروتوكولات البرامج المفتوحة المصدر لحركة البيانات التي تعمل على واجهات شبكة فعلية وافتراضية. بروتوكول Thread متوافق مع Wireshark 2.4.0 والإصدارات الأحدث. يمكنك الاطّلاع على المستندات والتنزيلات الخاصة بهذه الأداة على wireshark.org.

لمزيد من المعلومات حول كيفية إتاحة Thread في Wireshark، يمكنك الاطّلاع على تقصير حِزمة Pyspinel.

بيسبينيل

Pyspinel هو واجهة سطر أوامر بلغة Python لـ بروتوكول Spinel يُستخدَم في ضبط وإدارة OpenCP NCPs أو RCPs. ويستهدف سطر الأوامر هذا بشكل أساسي اختبارات CI، ولكن يمكن استخدامه يدويًا لتجربة مثيلات OpenOpen Co-Process واختبارها.

يُستخدم Pyspinel من أجل:

  • أضِف محاكاة "المعالج المشارك" إلى عملية الدمج المستمرة.
  • الاختبار التلقائي للمختبرات التي تشغّل البرامج الثابتة للمعالج المشترك على الأجهزة.
  • تصحيح أخطاء إصدارات "المعالج المشارك" لـ OpenThread
  • تحويل معالج OpenThread المشارك إلى معدل تحويل حزمة.

لمزيد من المعلومات، يُرجى الاطّلاع على README في مستودع Pyspinel.