Test

Tests de projets

OpenThread publié par Google est testé par plusieurs outils.

Continuous integration

OpenThread utilise Actions Actions de GitHub pour l'intégration continue (CI) et Codecov pour la couverture du code.

CI effectue des vérifications de compilation pour tous les exemples de plates-formes à l'aide de la chaîne d'outils intégrée GNU Arm et pour l'exemple de simulation utilisant GCC, Clang et Android. Il compile et teste également x86, l'architecture de la plate-forme et les configurations d'appareil Thread. Pour en savoir plus sur les tests et les vérifications spécifiques, consultez la section Workflows.

En outre, CI effectue:

  1. Vérifications du style du code à l'aide de clang-format
  2. Tests unitaires
  3. Tests fonctionnels basés sur la CLI, wpantund (avec toranj) et Pyspinel

FUzz

OpenThread est testé par OSS-Fuzz. Dans cette technique de test, des entrées non valides et aléatoires sont envoyées à un nombre élevé d'expositions à un logiciel afin de détecter des problèmes tels que des fuites de mémoire ou des plantages.

Consultez le dépôt OpenThread pour connaître les cibles de compilation actuelles.

Test de produits

Testez votre propre produit OpenThread à l'aide des outils suivants.

Fil

Wireshark est un analyseur de protocole réseau Open Source destiné au trafic exécuté sur des interfaces réseau physiques et virtuelles. Le protocole Thread est compatible avec Wireshark 2.4.0 et versions ultérieures. La documentation et les téléchargements de cet outil sont disponibles sur wireshark.org.

Pour en savoir plus sur la prise en charge de Thread dans Wireshark, consultez la section Détection de paquets avec Pyspinel.

Pyspinel

Pyspinel est une CLI Python pour le protocole Spinnaker. Il permet de configurer et de gérer les NCP ou RCP d'OpenThread. Cette CLI cible principalement les tests CI, mais peut également être utilisée manuellement pour tester et tester des instances de co-processeurs OpenThread.

Le pyspinel est utilisé pour:

  • Ajoutez des tests de co-processeur simulés à l'intégration continue.
  • Automatisez les tests des dispositifs de test exécutant le micrologiciel de co-processeur sur le matériel.
  • Déboguez les builds co-processeurs OpenOpen.
  • Convertissez un co-processeur OpenThread en sniffer de paquets.

Pour en savoir plus, consultez README dans le dépôt Pyspinel.