Google is committed to advancing racial equity for Black communities. See how.

Test yapmak

Proje testi

Google tarafından yayınlanan OpenThread, bir dizi araç tarafından test edilir.

Sürekli entegrasyon

OpenThread kullanan GitHub Eylemler sürekli entegrasyon (CI) için ve Codecov kod kapsamı için.

CI, GNU Arm Embedded Toolchain kullanan tüm örnek platformlar için ve GCC, Clang ve Android kullanan simüle edilmiş örnek için yapı kontrolleri gerçekleştirir. Ayrıca x86, platform mimarisi ve Thread cihaz konfigürasyonlarını oluşturur ve bunlara karşı test eder. Belirli testler ve kontroller hakkında daha fazla bilgi için bkz İş Akışları .

Ek olarak, CI şunları gerçekleştirir:

  1. Kod tarzı kontrolleri kullanarak clang-format
  2. Birim testleri
  3. Fonksiyonel testler CLI karşı wpantund ile ( toranj ) ve Pyspinel

OSS-Füzz

OpenThread hav ile test edilmiştir ÖSS-Fuzz . Bu test tekniğinde, bellek sızıntıları veya çökmeler gibi sorunları bulmak için geçersiz ve rastgele girdiler yüksek frekans ve hacimde yazılıma gönderilir.

İçin OpenThread depo bakın şimdiki fuzzing yapı hedefleri .

Ürün testi

Kendi OpenThread ürününüzü test etmek için aşağıdaki araçları kullanın.

Tel köpekbalığı

Wireshark, fiziksel ve sanal ağ arayüzlerinde çalışan trafik için açık kaynaklı bir ağ protokolü analizörüdür. Konu protokol desteklenir Wireshark 2.4.0 ve üstü. Bu araç için dokümantasyon ve indirme bulunabilir wireshark.org .

Konu Wireshark desteklenir konusunda daha fazla bilgi için bkz Paket Pyspinel ile koklama .

Pyspinel

Pyspinel için bir Python CLI olan spinel protokolü , yapılandırmak için kullanılan ve yönetmek OpenThread NCP'ler veya RCPs . Bu CLI, öncelikle CI testlerine yöneliktir, ancak OpenThread Ortak İşlemci örneklerini denemek ve test etmek için manuel olarak kullanılabilir.

Pyspinel için kullanılır:

  • Sürekli entegrasyona simüle edilmiş Yardımcı İşlemci testi ekleyin.
  • Donanım üzerinde Ortak İşlemci ürün yazılımı çalıştıran test yataklarının test edilmesini otomatikleştirin.
  • OpenThread'in Ortak İşlemci derlemelerinde hata ayıklama.
  • Bir OpenThread Ortak İşlemcisini bir paket dinleyicisine dönüştürün.

Daha fazla bilgi için, bkz README Pyspinel depoda.