পরীক্ষামূলক

প্রকল্প পরীক্ষা

Google দ্বারা প্রকাশিত OpenThread বেশ কয়েকটি সরঞ্জাম দ্বারা পরীক্ষা করা হয়।

একটানা সমাকলান

OpenThread একটানা ইন্টিগ্রেশন (CI) এর জন্য GitHub অ্যাকশন এবং কোড কভারেজের জন্য Codecov ব্যবহার করে।

CI GNU আর্ম এমবেডেড টুলচেন ব্যবহার করে এবং GCC, Clang, এবং Android ব্যবহার করে সিমুলেটেড উদাহরণের জন্য সমস্ত উদাহরণ প্ল্যাটফর্মের জন্য বিল্ড চেক করে। এটি x86, প্ল্যাটফর্ম আর্কিটেকচার এবং থ্রেড ডিভাইস কনফিগারেশনের বিরুদ্ধেও তৈরি এবং পরীক্ষা করে। নির্দিষ্ট পরীক্ষা এবং চেক সম্পর্কে আরও তথ্যের জন্য, কর্মপ্রবাহ দেখুন।

উপরন্তু, CI সঞ্চালন করে:

  1. clang-format ব্যবহার করে কোড স্টাইল চেক করে
  2. ইউনিট পরীক্ষা
  3. CLI, wpantund ( toranj সহ), এবং Pyspinel এর বিরুদ্ধে কার্যকরী পরীক্ষা

ওএসএস-ফাজ

OpenThread OSS-Fuzz দিয়ে ফাজ পরীক্ষা করা হয়। এই পরীক্ষার কৌশলে, মেমরি লিক বা ক্র্যাশের মতো সমস্যাগুলি খুঁজে বের করার জন্য অবৈধ এবং এলোমেলো ইনপুটগুলি সফ্টওয়্যারে উচ্চ ফ্রিকোয়েন্সি এবং ভলিউমে জমা দেওয়া হয়।

বর্তমান অস্পষ্ট বিল্ড লক্ষ্যগুলির জন্য OpenThread সংগ্রহস্থল দেখুন।

পণ্য পরীক্ষা

আপনার নিজের OpenThread পণ্য পরীক্ষা করতে নিম্নলিখিত সরঞ্জাম ব্যবহার করুন.

ওয়্যারশার্ক

Wireshark হল একটি ওপেন-সোর্স নেটওয়ার্ক প্রোটোকল বিশ্লেষক যা ট্র্যাফিকের জন্য শারীরিক এবং ভার্চুয়াল নেটওয়ার্ক ইন্টারফেসে চলমান। থ্রেড প্রোটোকল Wireshark 2.4.0 এবং পরবর্তীতে সমর্থিত। এই টুলের জন্য ডকুমেন্টেশন এবং ডাউনলোড wireshark.org এ পাওয়া যাবে।

Wireshark-এ থ্রেড কীভাবে সমর্থিত হয় সে সম্পর্কে আরও তথ্যের জন্য, Pyspinel এর সাথে প্যাকেট স্নিফিং দেখুন।

পিসপিনেল

Pyspinel হল Spinel প্রোটোকলের জন্য একটি Python CLI, যা OpenThread NCPs বা RCPs কনফিগার ও পরিচালনা করতে ব্যবহৃত হয়। এই CLI প্রাথমিকভাবে CI পরীক্ষার লক্ষ্যবস্তু, কিন্তু OpenThread সহ-প্রসেসরের দৃষ্টান্তগুলির সাথে পরীক্ষা এবং পরীক্ষা করার জন্য ম্যানুয়ালি ব্যবহার করা যেতে পারে।

Pyspinel ব্যবহৃত হয়:

  • ক্রমাগত ইন্টিগ্রেশনে সিমুলেটেড কো-প্রসেসর টেস্টিং যোগ করুন।
  • হার্ডওয়্যারে সহ-প্রসেসর ফার্মওয়্যার চলমান টেস্টবেডগুলির স্বয়ংক্রিয় পরীক্ষা।
  • ওপেন থ্রেডের ডিবাগ কো-প্রসেসর তৈরি করে।
  • একটি ওপেন থ্রেড কো-প্রসেসরকে একটি প্যাকেট স্নিফারে রূপান্তর করুন।

আরও তথ্যের জন্য, Pyspinel সংগ্রহস্থলে README দেখুন।

,

প্রকল্প পরীক্ষা

Google দ্বারা প্রকাশিত OpenThread বেশ কয়েকটি সরঞ্জাম দ্বারা পরীক্ষা করা হয়।

একটানা সমাকলান

OpenThread একটানা ইন্টিগ্রেশন (CI) এর জন্য GitHub অ্যাকশন এবং কোড কভারেজের জন্য Codecov ব্যবহার করে।

CI GNU আর্ম এমবেডেড টুলচেন ব্যবহার করে এবং GCC, Clang, এবং Android ব্যবহার করে সিমুলেটেড উদাহরণের জন্য সমস্ত উদাহরণ প্ল্যাটফর্মের জন্য বিল্ড চেক করে। এটি x86, প্ল্যাটফর্ম আর্কিটেকচার এবং থ্রেড ডিভাইস কনফিগারেশনের বিরুদ্ধেও তৈরি এবং পরীক্ষা করে। নির্দিষ্ট পরীক্ষা এবং চেক সম্পর্কে আরও তথ্যের জন্য, কর্মপ্রবাহ দেখুন।

উপরন্তু, CI সঞ্চালন করে:

  1. clang-format ব্যবহার করে কোড স্টাইল চেক করে
  2. ইউনিট পরীক্ষা
  3. CLI, wpantund ( toranj সহ), এবং Pyspinel এর বিরুদ্ধে কার্যকরী পরীক্ষা

ওএসএস-ফাজ

OpenThread OSS-Fuzz দিয়ে ফাজ পরীক্ষা করা হয়। এই পরীক্ষার কৌশলে, মেমরি লিক বা ক্র্যাশের মতো সমস্যাগুলি খুঁজে বের করার জন্য অবৈধ এবং এলোমেলো ইনপুটগুলি সফ্টওয়্যারে উচ্চ ফ্রিকোয়েন্সি এবং ভলিউমে জমা দেওয়া হয়।

বর্তমান অস্পষ্ট বিল্ড লক্ষ্যগুলির জন্য OpenThread সংগ্রহস্থল দেখুন।

পণ্য পরীক্ষা

আপনার নিজের OpenThread পণ্য পরীক্ষা করতে নিম্নলিখিত সরঞ্জাম ব্যবহার করুন.

ওয়্যারশার্ক

Wireshark হল একটি ওপেন-সোর্স নেটওয়ার্ক প্রোটোকল বিশ্লেষক যা ট্র্যাফিকের জন্য শারীরিক এবং ভার্চুয়াল নেটওয়ার্ক ইন্টারফেসে চলমান। থ্রেড প্রোটোকল Wireshark 2.4.0 এবং পরবর্তীতে সমর্থিত। এই টুলের জন্য ডকুমেন্টেশন এবং ডাউনলোড wireshark.org এ পাওয়া যাবে।

Wireshark-এ থ্রেড কীভাবে সমর্থিত হয় সে সম্পর্কে আরও তথ্যের জন্য, Pyspinel এর সাথে প্যাকেট স্নিফিং দেখুন।

পিসপিনেল

Pyspinel হল Spinel প্রোটোকলের জন্য একটি Python CLI, যা OpenThread NCPs বা RCPs কনফিগার ও পরিচালনা করতে ব্যবহৃত হয়। এই CLI প্রাথমিকভাবে CI পরীক্ষার লক্ষ্যবস্তু, কিন্তু OpenThread সহ-প্রসেসরের দৃষ্টান্তগুলির সাথে পরীক্ষা এবং পরীক্ষা করার জন্য ম্যানুয়ালি ব্যবহার করা যেতে পারে।

Pyspinel ব্যবহৃত হয়:

  • ক্রমাগত ইন্টিগ্রেশনে সিমুলেটেড কো-প্রসেসর টেস্টিং যোগ করুন।
  • হার্ডওয়্যারে সহ-প্রসেসর ফার্মওয়্যার চলমান টেস্টবেডগুলির স্বয়ংক্রিয় পরীক্ষা।
  • ওপেন থ্রেডের ডিবাগ কো-প্রসেসর তৈরি করে।
  • একটি ওপেন থ্রেড কো-প্রসেসরকে একটি প্যাকেট স্নিফারে রূপান্তর করুন।

আরও তথ্যের জন্য, Pyspinel সংগ্রহস্থলে README দেখুন।