Proje testi
Google tarafından yayınlanan OpenThread bir dizi araç tarafından test edilmektedir.
Sürekli entegrasyon
OpenThread, sürekli entegrasyon için GitHub Actions'ı (CI) ve kod kapsamı için Codecov'u kullanıyor.
CI, GNU Arm Yerleşik Araç Zinciri'ni kullanarak tüm örnek platformlar ve GCC, Clang ve Android'i kullanarak simüle edilmiş örnek için derleme kontrolleri gerçekleştirir. Ayrıca x86, platform mimarisi ve Thread cihaz yapılandırmalarına göre geliştirip test eder. Belirli testler ve kontroller hakkında daha fazla bilgi için İş akışları bölümüne bakın.
Ayrıca CI şunları da 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 fuzz testi yapıldı. Bu test tekniğinde geçersiz ve rastgele girişler, bellek sızıntıları veya kilitlenmeler gibi sorunları bulmak için yüksek sıklıkta ve hacimde yazılıma gönderilir.
Mevcut 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.
Wireshark
Wireshark, fiziksel ve sanal ağ arayüzlerinde çalışan trafik için açık kaynaklı bir ağ protokolü analizcisidir. Mesaj Dizisi protokolü Wireshark 2.4.0 ve sonraki sürümlerde desteklenir. Bu araçla ilgili dokümanları ve indirmeleri wireshark.org adresinde bulabilirsiniz.
Thread'ın Wireshark'da nasıl desteklendiği hakkında daha fazla bilgi edinmek için Pyspinel ile paket koklama bölümüne bakın.
Pist
Pyspinel, OpenThread NCP'leri veya RCP'leri yapılandırmak ve yönetmek için kullanılan Spinel protokolü için bir Python KSA'dır. Bu KSA, öncelikli olarak CI testlerine yöneliktir ancak OpenThread Co-Processor örneklerini test etmek ve test etmek için manuel olarak kullanılabilir.
Psiklor aşağıdaki amaçlarla kullanılır:
- Sürekli entegrasyona simüle edilmiş Ortak İşlemci testi ekleyin.
- Donanım üzerinde Ortak İşlemci donanım yazılımı çalıştıran test yataklarının testini otomatikleştirin.
- OpenThread iş ortağının derlemelerinde hata ayıklayın.
- OpenThread Ortak İşlemciyi paket yoklayıcıya dönüştürün.
Daha fazla bilgi için Pyspinel veri havuzundaki README
bölümüne göz atın.