Testowanie projektu
OpenThread wydany przez Google jest testowany przez szereg narzędzi.
Ciągła integracja
OpenThread używa akcji GitHub do ciągłej integracji (CI) i Codecov do pokrycia kodu.
CI przeprowadza testy kompilacji dla wszystkich przykładowych platform przy użyciu GNU Arm Embedded Toolchain oraz dla symulowanego przykładu przy użyciu GCC, Clang i Android. Tworzy również i testuje pod kątem x86, architektury platformy i konfiguracji urządzeń Thread. Aby uzyskać więcej informacji na temat określonych testów i kontroli, zobacz przepływy pracy .
Ponadto CI wykonuje:
- Sprawdzanie stylu kodu za pomocą
clang-format
- Testy jednostkowe
- Testy funkcjonalne z CLI,
wpantund
(ztoranj
) i Pyspinel
OSS-Fuzz
OpenThread jest testowany pod kątem fuzz z OSS-Fuzz . W tej technice testowania nieprawidłowe i losowe dane wejściowe są przesyłane z dużą częstotliwością i głośnością do oprogramowania w celu wykrycia problemów, takich jak wycieki pamięci lub awarie.
Zobacz repozytorium OpenThread dla aktualnych fuzzingowych celów kompilacji .
Testowanie produktu
Użyj następujących narzędzi, aby przetestować swój 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ół Thread jest obsługiwany w Wireshark 2.4.0 i nowszych. Dokumentację i pliki do pobrania dotyczące tego narzędzia można znaleźć pod adresem wireshark.org .
Aby uzyskać więcej informacji na temat obsługi wątków w Wireshark, zobacz Sniffowanie pakietów za pomocą Pyspinel .
Pyspinel
Pyspinel to interfejs wiersza poleceń Pythona dla protokołu Spinel , używany do konfigurowania i zarządzania punktami NCP lub RCP OpenThread . Ten interfejs wiersza polecenia jest przeznaczony głównie do testów CI, ale może być używany ręcznie do eksperymentowania i testowania wystąpień współprocesorów OpenThread.
Pyspinel służy do:
- Dodaj symulowane testy koprocesora do ciągłej integracji.
- Zautomatyzuj testowanie stanowisk testowych z oprogramowaniem układowym procesorów współpracujących na sprzęcie.
- Debuguj kompilacje współprocesorów OpenThread.
- Przekształć współprocesor OpenThread w sniffer pakietów.
Aby uzyskać więcej informacji, zobacz plik README
w repozytorium Pyspinel.