Proje testi
Google tarafından sunulan OpenThread çeşitli araçlar tarafından test edilmektedir.
Sürekli entegrasyon
Openthread, sürekli entegrasyon (CI) için GitHub Actions'ı ve kod kapsamı için Codecov'u kullanır.
CI, GNU Arm Yerleştirilmiş Araç Zinciri'ni ve GCC, Clang ve Android kullanarak simüle edilmiş örneği kullanarak tüm örnek platformlar için derleme kontrolleri gerçekleştirir. x86, platform mimarisi ve İş parçacığı cihaz yapılandırmalarını da oluşturup test eder. Belirli testler ve kontroller hakkında daha fazla bilgi için İş akışları bölümüne bakın.
CI ayrıca şunları gerçekleştirir:
clang-format
kullanarak kod stili kontrolleri- Birim testleri
- KSA,
wpantund
(toranj
ile) ve Pyspinel ile yapılan işlevsel testler
OSS-Fuzz
OpenThread, OSS-Fuzz ile test edilmiştir. Bu test tekniğinde geçersiz ve rastgele girişler, bellek sızıntısı veya kilitlenme gibi sorunları bulmak için yazılıma yüksek sıklıkta ve hacimde gönderilir.
Geçerli fuzzing derleme hedefleri için OpenThread deposuna bakın.
Ürün testi
Kendi OpenThread ürününüzü test etmek için aşağıdaki araçları kullanın.
Tırmanma
Wireshark, fiziksel ve sanal ağ arayüzlerinde çalışan trafik için açık kaynaklı bir ağ protokolü analizcisidir. Thread protokolü, Wireshark 2.4.0 ve sonraki sürümlerde desteklenmektedir. Bu araçla ilgili dokümanları ve indirmeleri wireshark.org adresinde bulabilirsiniz.
Thread'in Wireshark'ta nasıl desteklendiği hakkında daha fazla bilgi için Pyspinel ile paket koklama bölümüne bakın.
Spiral
Pyspinel, Spinel protokolü için OpenThread NCP'leri veya RCP'lerini yapılandırmak ve yönetmek amacıyla kullanılan bir Python CLI'dır. Bu CLI öncelikli olarak CI testlerine hedeflenmiş olmakla birlikte OpenThread Ortak İşlemci örnekleriyle deneme yapmak ve bunları test etmek için manuel olarak kullanılabilir.
Piskop şu amaçlarla kullanılır:
- Sürekli entegrasyona benzer şekilde simüle edilmiş ortak işlemci testi ekleyin.
- Donanımda Ortak İşlemci donanım yazılımı çalıştıran test yataklarının testini otomatikleştirin.
- OpenThreads'in Ortak İşlemci yapılarında hata ayıklayın.
- OpenThread Ortak İşlemcisini paket algılayıcısına dönüştürün.
Daha fazla bilgi için Pyspinel deposundaki README
bölümünü inceleyin.