Google 致力于为黑人社区推动种族平等。查看具体行动

Test

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:

  1. clang-format kullanarak kod stili kontrolleri
  2. Birim testleri
  3. 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.