Test de projet
OpenThread publié par Google est testé par plusieurs outils.
Intégration continue
OpenThread utilise GitHub Actions 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 utilisant la chaîne d'outils intégrée GNU Arm et pour l'exemple de simulation utilisant GCC, Clang et Android. Elle crée et teste également x86, l'architecture de la plate-forme et les configurations d'appareil Thread. Pour en savoir plus sur des tests et des vérifications spécifiques, consultez la section Workflows.
En outre, CI effectue les opérations suivantes:
- Vérifications du style de code avec
clang-format
- Tests unitaires
- Tests fonctionnels de la CLI, de
wpantund
(avectoranj
) et de Pyspinel
OSS Fuzz
OpenThread est testé par fuzz avec OSS-Fuzz. Dans cette technique de test, des entrées non valides et aléatoires sont envoyées au logiciel à une fréquence et un volume élevés 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 partielles actuelles.
Tests du produit
Utilisez les outils suivants pour tester votre propre produit OpenThread.
Wireshark
Wireshark est un analyseur de protocole réseau Open Source pour le trafic s'exécutant sur des interfaces réseau physiques et virtuelles. Le protocole Thread est compatible avec Wireshark 2.4.0 et les versions ultérieures. La documentation et les téléchargements associés à cet outil sont disponibles sur le site wireshark.org.
Pour en savoir plus sur la compatibilité de Thread dans Wireshark, consultez la section Détection des paquets avec Pyspinel.
Pyspine
Pyspinel est une CLI Python pour le protocole Spinnaker, utilisée pour configurer et gérer des NCP ou RCP OpenThread. Cette CLI cible principalement les tests CI, mais peut être utilisée manuellement pour tester et tester des instances OpenThread Co-Processor.
Le pyspinel est utilisé pour:
- Ajoutez une simulation de test du co-processeur à l'intégration continue.
- Automatisez les tests de lits de test exécutant le micrologiciel de co-processeur sur le matériel.
- Déboguez les builds de coprocesseurs OpenThread.
- Convertissez un co-processeur OpenThread en outil de détection de paquets.
Pour en savoir plus, consultez la section README
dans le dépôt Pyspinel.