Test

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Proje testi

Google tarafından yayınlanan OpenThread çok sayıda araç tarafından test edilmiştir.

Sürekli entegrasyon

OpenThread, sürekli entegrasyon (CI) için GitHub Actions ve kod kapsamı için Codecov kullanır.

CI, GNU Arm Yerleşik Araç Zinciri kullanarak tüm örnek platformlar ve GCC, Clang ve Android kullanılarak simüle edilmiş örnek için derleme kontrolleri yapar. Ayrıca x86, platform mimarisi ve Thread cihaz yapılandırmalarına göre derleyip test eder. Belirli testler ve kontroller hakkında daha fazla bilgi için İş akışları konusuna bakın.

Ayrıca CI şunları gerçekleştirir:

  1. clang-format kullanarak kod stili kontrolleri
  2. Birim testleri
  3. KSA, wpantund (toranj ile) ve Pyspinel ile işlevsel testler

OSS-Fuzz

OpenThread, OSS-Fuzz ile fuzz test edildi. Bu test tekniğinde geçersiz ve rastgele girişler, bellek sızıntıları veya çökmeler gibi sorunları bulmak için yüksek sıklıkta ve hacimde yazılıma 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.

Kelebek

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'in Wireshark'ta nasıl desteklendiğiyle ilgili daha fazla bilgi için Pyspinel ile paket yoklama konusuna bakın.

Psinel

Pyspinel, Spinel protokolü için bir Python CLI'dır.OpenThread NCP'leri veya RCP'leri yapılandırmak ve yönetmek için kullanılır. Bu KSA öncelikli olarak CI testlerine yöneliktir ancak OpenThread Co-Processor örneklerini denemek ve test etmek için manuel olarak kullanılabilir.

Pyspinel şunlar için kullanılır:

  • Sürekli entegrasyona simüle edilmiş Ortak İşleyen testi ekleyin.
  • Donanımda Co-Processor donanım yazılımı çalıştıran test yataklarının otomatikleştirilmesi.
  • OpenThread iş ortağı derlemelerinde hata ayıklayın.
  • Bir OpenThread Co-Processer'ı paket algılayıcısına dönüştürün.

Daha fazla bilgi için Pyspinel veri havuzundaki README bölümüne bakın.