Testowanie

Testowanie projektu

OpenThread opublikowany przez Google testuje szereg narzędzi.

Tryb ciągłej integracji

OpenThread używa GitHub Actions do ciągłej integracji i Codecov do pokrycia kodu.

CI przeprowadza testy kompilacji na wszystkich przykładowych platformach przy użyciu łańcucha narzędzi GNU Arm embedchain oraz symulowanego przykładu przy użyciu GCC, Clang i Androida. Umożliwia też tworzenie i testowanie testów x86, architektury platformy oraz konfiguracji urządzeń z wątkami. Więcej informacji o określonych testach i testach znajdziesz w artykule Przepływy pracy.

Ponadto CI wykonuje:

  1. Kontrole stylu kodu za pomocą clang-format
  2. Testy jednostkowe
  3. Testy funkcjonalne interfejsu wiersza poleceń, wpantund (z toranj) i Pyspinel

OSS-Fuzz

OpenThread jest testowany za pomocą technologii OSS-Fuzz. W ramach tej metody testowania nieprawidłowe i losowe dane wejściowe są przesyłane z dużą częstotliwością do oprogramowania w celu wykrycia problemów, takich jak wycieki pamięci czy awarie.

Zobacz bieżące cele kompilacji Fuzzing w repozytorium OpenThread.

Testowanie produktów

Użyj tych narzędzi, by przetestować własną usługę OpenThread.

Wireshark

Wireshark to analizator protokołów sieciowych typu open source przeznaczony do ruchu związanego z interfejsami fizycznymi i wirtualnymi. Protokół Thread jest obsługiwany w wersji Wireshark 2.4.0 i nowszych. Dokumentację i narzędzia do pobrania znajdziesz na stronie wireshark.org.

Więcej informacji o obsłudze narzędzia Wireshark w zakresie obsługi wątków znajdziesz w artykule Pistota z użyciem Pyspinel.

Pspinel

Pyspinel to interfejs wiersza poleceń w języku Python służący do obsługi protokołu Spinel do konfigurowania stron NCP i RCP w OpenThread oraz zarządzania nimi. Ten interfejs wiersza poleceń jest kierowany przede wszystkim na testy CI, ale można go używać ręcznie do eksperymentowania i testowania instancji współprocesora OpenThread.

Pyspinel służy do:

  • Dodaj symulowane testowanie współprocesora do ciągłej integracji.
  • Automatyzowanie testowania podkładów testowych z oprogramowaniem układowym współprocesora na sprzęcie.
  • Przeprowadź debugowanie współprocesora w przypadku kompilacji OpenThread.
  • Konwertuj współprocesor OpenThread na sniffer pakietów.

Więcej informacji znajdziesz w repozytorium README w repozytorium Pyspinel.