Testowanie

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Testowanie projektu

Rozwiązanie OpenThread udostępnione przez Google jest testowane przez szereg narzędzi.

Tryb ciągłej integracji

OpenThread używa GitHub Actions do ciągłej integracji (CI), a Codecov do pokrycia kodu.

CI przeprowadza testy kompilacji na wszystkich przykładowych platformach z użyciem narzędzia GNU Arm Embedded Toolchain oraz symulowanego przykładu przy użyciu GCC, Clang i Androida. Tworzy i testuje dane na x86, architekturę platformy oraz konfiguracje urządzeń Thread. Więcej informacji o konkretnych testach i testach znajdziesz w artykule Przepływy pracy.

Oprócz tego CI wykonuje:

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

OSS Fuzz

OpenThread jest testowany za pomocą algorytmu OSS-Fuzz. Dzięki tej metodzie testowania nieprawidłowe i losowe dane wejściowe są przesyłane do oprogramowania z dużą częstotliwością i częstotliwością, aby wykryć problemy, np. wycieki pamięci lub awarie.

Aktualne cele kompilacji na podstawie Fufu znajdziesz w repozytorium OpenThread.

Testowanie produktów

Aby przetestować swoją usługę OpenThread, użyj tych narzędzi.

Wireshark,

Wireshark to narzędzie do analizowania protokołów sieciowych typu open source dla ruchu działającego w interfejsach fizycznych i wirtualnych. Protokół Thread jest obsługiwany przez Wireshark 2.4.0 i nowsze wersje. Dokumentację i materiały do pobrania znajdziesz na wireshark.org.

Więcej informacji o tym, jak Thread jest obsługiwany przez Wireshark, znajdziesz w sekcji Packet sniffing with Pyspinel.

Pypinez

Pyspinel to interfejs wiersza poleceń Python dla protokołu Spinera używany do konfigurowania narzędzi NCP i RCP (w wątkach) oraz zarządzania nimi. Ten interfejs wiersza poleceń jest używany przede wszystkim do testów CI, ale można go używać ręcznie do eksperymentowania z testami instancji współprocesora OpenThread i testowania ich.

Pyspinel jest używany do:

  • Dodaj symulowany test współprocesora do ciągłej integracji.
  • Zautomatyzuj testowanie pasów testowych korzystających z oprogramowania układowego współprocesora na sprzęcie.
  • Dowiedz się, jak debugować współprocesora w trybie OpenThread.
  • Przekonwertuj współprocesor OpenThread na sniffer pakietów.

Więcej informacji znajdziesz w README w repozytorium Pyspinel.