آزمایش کردن

تست پروژه

OpenThread منتشر شده توسط گوگل توسط تعدادی ابزار تست شده است.

ادغام مداوم

OpenThread از GitHub Actions برای یکپارچه سازی مداوم (CI) و Codecov برای پوشش کد استفاده می کند.

CI برای تمام پلتفرم‌های نمونه با استفاده از زنجیره ابزار جاسازی شده GNU و برای مثال شبیه‌سازی شده با استفاده از GCC، Clang و Android، بررسی ساخت را انجام می‌دهد. همچنین x86، معماری پلتفرم و پیکربندی دستگاه Thread را می سازد و آزمایش می کند. برای اطلاعات بیشتر در مورد آزمایش‌ها و بررسی‌های خاص، گردش کار را ببینید.

علاوه بر این، CI انجام می دهد:

  1. بررسی سبک کد با استفاده clang-format
  2. تست های واحد
  3. تست های عملکردی در برابر CLI، wpantund (با ترنج)، و toranj

OSS-Fuzz

OpenThread با OSS-Fuzz آزمایش شده است. در این تکنیک تست، ورودی‌های نامعتبر و تصادفی با فرکانس و حجم بالا به نرم‌افزار ارسال می‌شوند تا مشکلاتی مانند نشت حافظه یا خرابی پیدا شود.

به مخزن OpenThread برای اهداف ساخت فازی فعلی مراجعه کنید.

تست محصول

از ابزارهای زیر برای آزمایش محصول OpenThread خود استفاده کنید.

Wireshark

Wireshark یک تحلیلگر پروتکل شبکه منبع باز برای ترافیک در حال اجرا بر روی رابط های فیزیکی و مجازی شبکه است. پروتکل Thread در Wireshark 2.4.0 و جدیدتر پشتیبانی می شود. اسناد و دانلودهای این ابزار را می‌توانید در wireshark.org بیابید .

برای اطلاعات بیشتر در مورد نحوه پشتیبانی Thread در Wireshark، به Packet Sniffing with Pyspinel مراجعه کنید.

پیسپینل

Pyspinel یک CLI پایتون برای پروتکل Spinel است که برای پیکربندی و مدیریت OpenThread NCP یا RCP استفاده می شود. این CLI عمدتاً برای آزمایش‌های CI هدف‌گذاری شده است، اما می‌تواند به صورت دستی برای آزمایش و آزمایش نمونه‌های OpenThread Co-Processor استفاده شود.

از Pyspinel برای موارد زیر استفاده می شود:

  • اضافه کردن تست Co-Processor شبیه سازی شده به یکپارچه سازی مداوم.
  • تست خودکار بسترهای آزمایشی که سیستم عامل Co-Processor را روی سخت افزار اجرا می کنند.
  • اشکال زدایی سازه های Co-Processor OpenThread.
  • یک OpenThread Co-Processor را به یک packet sniffer تبدیل کنید.

برای اطلاعات بیشتر، به README در مخزن Pyspinel مراجعه کنید.