الاختبار

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

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

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

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

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

إضافةً إلى ذلك، يؤدي CI. إلى:

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

OSS-Fuzz

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

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

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

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

ويركشارك

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

لمزيد من المعلومات حول كيفية دعم Thread في Wireshark، راجع تقصّ الحزم باستخدام Pyspinel.

بيسبنل

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

يُستخدم Pyspinel في:

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

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