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

Testowanie

Testowanie projektu

OpenThread wydany przez Google jest testowany przez szereg narzędzi.

Ciągła integracja

OpenThread wykorzystuje GitHub Actions do ciągłej integracji (CI) oraz Codecov dla pokrycia kodu.

CI przeprowadza kontrolę kompilacji dla wszystkich przykładowych platform przy użyciu GNU Arm Embedded Toolchain oraz dla symulowanego przykładu przy użyciu GCC, Clang i Androida. Buduje również i testuje pod kątem x86, architektury platformy i konfiguracji urządzeń Thread. Aby uzyskać więcej informacji na temat konkretnych badań i sprawdzeń, zobacz Workflows .

Ponadto CI wykonuje:

  1. Kod sprawdza style wykorzystujące clang-format
  2. Testy jednostkowe
  3. Testy funkcjonalne przeciwko CLI wpantund (z toranj ) i Pyspinel

OSS-Fuzz

OpenThread jest fuzz testowane z OSS-Fuzz . W tej technice testowania nieprawidłowe i losowe dane wejściowe są przesyłane do oprogramowania z dużą częstotliwością i głośnością w celu wykrycia problemów, takich jak wycieki pamięci lub awarie.

Zobacz repozytorium OpenThread dla bieżących celów fuzzing kompilacji .

Testowanie produktu

Użyj poniższych narzędzi, aby przetestować własny produkt OpenThread.

Wireshark

Wireshark to analizator protokołów sieciowych typu open source dla ruchu działającego na fizycznych i wirtualnych interfejsach sieciowych. Protokół Temat jest obsługiwana w Wireshark 2.4.0 i nowszych. Dokumentacja i pliki do pobrania dla tego narzędzia można znaleźć na wireshark.org .

Aby uzyskać więcej informacji na temat Wątek jest obsługiwana w Wireshark, patrz Packet sniffing z Pyspinel .

Pyspinel

Pyspinel jest Python CLI dla protokołu spinel , używane do konfigurowania i zarządzania OpenThread KPK lub RCPS . Ten interfejs wiersza polecenia jest przeznaczony głównie do testów CI, ale można go używać ręcznie do eksperymentowania i testowania instancji współprocesora OpenThread.

Pyspinel służy do:

  • Dodaj symulowane testy współprocesora do ciągłej integracji.
  • Zautomatyzuj testowanie środowisk testowych z oprogramowaniem sprzętowym współprocesora na sprzęcie.
  • Debuguj kompilacje współprocesora OpenThread.
  • Konwertuj koprocesor OpenThread na sniffer pakietów.

Aby uzyskać więcej informacji, zobacz README w repozytorium Pyspinel.