اختبار

اختبار مشروع

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

الدمج المستمر

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

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

بالإضافة إلى ذلك، تُجري CI ما يلي:

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

OSS-Fuzz

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

راجِع مستودع Openthread لمعرفة أهداف الإصدار الحالي غير الواضحة.

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

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

Wireshark

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

لمزيد من المعلومات حول طريقة توفُّر سلسلة المحادثات في Wireshark، يُرجى الاطِّلاع على حِزمة الحزمة باستخدام Pyspinel.

بايسبينيل

Pyspinel واجهة برمجة تطبيقات Pythonبروتوكول Spini ، تُستخدم للإعداد وإدارةOpenCP NCP أو RCP. تستهدف واجهة سطر الأوامر (CLI) هذه في المقام الأول اختبارات CI، ولكن يمكن استخدامها يدويًا لاختبار النُسخ الافتراضية للمعالج المشترك OpenOpen واختبارها.

ويُستخدَم بيرسبينيل في ما يلي:

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

لمزيد من المعلومات، راجِع README في مستودع Pyspinel.