Tests

Projekttests

OpenThread von Google wird mit einer Reihe von Tools getestet.

Continuous Integration

OpenThread verwendet GitHub Actions für Continuous Integration (CI) und Codecov für die Codeabdeckung.

Bei der kontinuierlichen Integration werden Build-Prüfungen für alle Beispielplattformen mit der GNU Arm Embedded Toolchain und für das simulierte Beispiel mit GCC, Clang und Android durchgeführt. Außerdem werden Builds und Tests für x86, die Plattformarchitektur und Thread-Gerätekonfigurationen durchgeführt. Weitere Informationen zu bestimmten Tests und Prüfungen finden Sie unter Workflows.

Außerdem führt CI Folgendes aus:

  1. Code-Stilprüfungen mit clang-format
  2. Einheitentests
  3. Funktionstests für CLI und Pyspinel

OSS-Fuzz

OpenThread wird mit OSS-Fuzz auf Fuzzing getestet. Bei dieser Testmethode werden ungültige und zufällige Eingaben mit hoher Häufigkeit und in großem Umfang an Software gesendet, um Probleme wie Speicherlecks oder Abstürze zu finden.

Die aktuellen Fuzzing-Build-Ziele finden Sie im OpenThread-Repository.

Produkttests

Verwenden Sie die folgenden Tools, um Ihr eigenes OpenThread-Produkt zu testen.

Wireshark

Wireshark ist ein Open-Source-Tool zur Analyse von Netzwerkprotokollen für Traffic, der über physische und virtuelle Netzwerkschnittstellen läuft. Das Thread-Protokoll wird in Wireshark 2.4.0 und höher unterstützt. Dokumentation und Downloads für dieses Tool finden Sie unter wireshark.org.

Weitere Informationen zur Unterstützung von Thread in Wireshark finden Sie unter Pakete mit Pyspinel erfassen.

Pyspinel

Pyspinel ist eine Python-Befehlszeilenschnittstelle für das Spinel-Protokoll, mit der OpenThread-NCPs oder -RCPs konfiguriert und verwaltet werden. Diese CLI ist hauptsächlich für CI-Tests vorgesehen, kann aber auch manuell verwendet werden, um OpenThread-Coprozessor-Instanzen zu testen.

Pyspinel wird verwendet, um:

  • Simulierte Co-Prozessor-Tests in die Continuous Integration einfügen
  • Automatisieren Sie das Testen von Testbeds, auf denen die Co-Prozessor-Firmware auf Hardware ausgeführt wird.
  • Co-Prozessor-Builds von OpenThread debuggen
  • OpenThread-Coprozessor in einen Packet Sniffer umwandeln

Weitere Informationen finden Sie unter README im Pyspinel-Repository.