Proje testi
Google tarafından yayınlanan OpenThread bir dizi araçla test edilmiştir.
Sürekli entegrasyon


OpenThread kullanan Travis CI sürekli entegrasyon için (Cl), ve Codecov kod kapsamı için.
CI, GNU Arm Embedded Toolchain kullanan tüm örnek platformlar için ve GCC, Clang ve Android kullanarak simüle edilmiş örnek için derleme kontrolleri gerçekleştirir. Ayrıca x86, platform mimarisi ve Thread aygıt yapılandırmalarına göre derler ve test eder. Belirli derleme hedefleri hakkında daha fazla bilgi için OpenThread Travis derleme matrisine bakın .
Ek olarak, CI şunları gerçekleştirir:
-
clang-format
kullanarak kod stili kontrolleri - Birim testleri
- CLI,
wpantund
(toranj
) ve Pyspinel'e karşı fonksiyonel testler
OSS-Fuzz
OpenThread, OSS-Fuzz ile fuzz testine tabi tutulmuştur. Bu test tekniğinde, bellek sızıntıları veya çökmeleri gibi sorunları bulmak için geçersiz ve rastgele girdiler yüksek frekans ve hacimde yazılıma gönderilir.
Mevcut fuzzing oluşturma 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ü çözümleyicisidir. Thread protokolü Wireshark 2.4.0 ve sonrasında desteklenmektedir. Bu araç için belgeler ve indirmeler wireshark.org adresinde bulunabilir.
Thread'ın Wireshark'ta nasıl desteklendiği hakkında daha fazla bilgi için, bkz. Pyspinel ile Paket koklama .
Pyspinel
Pyspinel, OpenThread NCP'leri veya RCP'leri yapılandırmak ve yönetmek için kullanılan Spinel protokolü için bir Python CLI'dır . Bu CLI, öncelikle CI testlerine yöneliktir, ancak OpenThread Co-Processor örneklerini denemek ve test etmek için manuel olarak kullanılabilir.
Pyspinel şu amaçlarla kullanılır:
- Sürekli entegrasyona benzetilmiş Ortak İşlemci testi ekleyin.
- Donanım üzerinde Eş İşlemci ürün yazılımını çalıştıran test merkezlerinin testini otomatikleştirin.
- OpenThread'in Eş İşlemci yapılarında hata ayıklama.
- OpenThread Ortak İşlemciyi paket dinleyiciye dönüştürün.
Daha fazla bilgi için, bkz README
Pyspinel depoda.