टेस्ट करना

प्रोजेक्ट की टेस्टिंग

Google की ओर से रिलीज़ किए गए OpenThread की जांच कई टूल से की जाती है.

लगातार इंटिग्रेशन करना

OpenThread, लगातार इंटिग्रेशन (सीआई) के लिए GitHub Actions और कोड कवरेज के लिए Codecov का इस्तेमाल करता है.

CI, GNU Arm Embedded Toolchain का इस्तेमाल करके, सभी उदाहरण प्लैटफ़ॉर्म के लिए बिल्ड की जांच करता है. साथ ही, GCC, Clang, और Android का इस्तेमाल करके, सिम्युलेट किए गए उदाहरण की जांच करता है. यह x86, प्लैटफ़ॉर्म आर्किटेक्चर, और थ्रेड डिवाइस कॉन्फ़िगरेशन के हिसाब से भी बनाता और टेस्ट करता है. खास टेस्ट और जांचों के बारे में ज़्यादा जानने के लिए, वर्कफ़्लो देखें.

इसके अलावा, सीआई ये काम भी करता है:

  1. clang-format का इस्तेमाल करके कोड स्टाइल की जांच करना
  2. यूनिट टेस्ट
  3. CLI और Pyspinel के ख़िलाफ़ फ़ंक्शन की जांच

OSS-Fuzz

OpenThread की फ़ज़ टेस्टिंग, OSS-Fuzz की मदद से की जाती है. जांच करने की इस तकनीक में, सॉफ़्टवेयर को अमान्य और रैंडम इनपुट, ज़्यादा फ़्रीक्वेंसी और वॉल्यूम पर सबमिट किए जाते हैं. ऐसा मेमोरी लीक या क्रैश जैसी समस्याएं ढूंढने के लिए किया जाता है.

फ़ज़िंग के मौजूदा बिल्ड टारगेट के लिए, OpenThread रिपॉज़िटरी देखें.

प्रॉडक्ट की टेस्टिंग

अपने OpenThread प्रॉडक्ट की जांच करने के लिए, इन टूल का इस्तेमाल करें.

Wireshark

Wireshark, ओपन सोर्स नेटवर्क प्रोटोकॉल ऐनालाइज़र है. इसका इस्तेमाल, फ़िज़िकल और वर्चुअल नेटवर्क इंटरफ़ेस पर चल रहे ट्रैफ़िक के लिए किया जाता है. Thread प्रोटोकॉल, Wireshark 2.4.0 और इसके बाद के वर्शन में काम करता है. इस टूल से जुड़े दस्तावेज़ और इसे डाउनलोड करने की सुविधा, wireshark.org पर उपलब्ध है.

Wireshark में Thread का इस्तेमाल कैसे किया जाता है, इस बारे में ज़्यादा जानने के लिए, Pyspinel की मदद से पैकेट स्निफ़ करना लेख पढ़ें.

Pyspinel

Pyspinel, Spinel प्रोटोकॉल के लिए Python CLI है. इसका इस्तेमाल, OpenThread NCP या RCP को कॉन्फ़िगर और मैनेज करने के लिए किया जाता है. इस सीएलआई को मुख्य रूप से सीआई टेस्ट के लिए बनाया गया है. हालांकि, इसका इस्तेमाल OpenThread Co-Processor इंस्टेंस को मैन्युअल तरीके से आज़माने और टेस्ट करने के लिए किया जा सकता है.

Pyspinel का इस्तेमाल इन कामों के लिए किया जाता है:

  • लगातार इंटिग्रेशन में, सिम्युलेटेड को-प्रोसेसर टेस्टिंग जोड़ें.
  • हार्डवेयर पर को-प्रोसेसर फ़र्मवेयर चलाने वाले टेस्टबेड की टेस्टिंग को अपने-आप होने की सुविधा चालू करें.
  • OpenThread के को-प्रोसेसर बिल्ड को डीबग करें.
  • OpenThread Co-Processor को पैकेट स्निफ़र में बदलें.

ज़्यादा जानकारी के लिए, Pyspinel रिपॉज़िटरी में मौजूद README देखें.