Pruebas de proyectos
Varias herramientas prueba la funcionalidad de OpenThread que lanzó Google.
Integración continua
OpenThread usa GitHub Actions para la integración continua (CI) y Codecov para la cobertura de código.
La CI realiza verificaciones de compilación para todas las plataformas de ejemplo que usan la cadena de herramientas incorporadas de ARM Arm y para el ejemplo simulado con GCC, Clang y Android. También compila y prueba en x86, la arquitectura de la plataforma y las configuraciones del dispositivo Thread. Para obtener más información sobre pruebas y verificaciones específicas, consulta Flujos de trabajo.
Además, la CI realiza las siguientes acciones:
- Verificaciones de estilo de código con
clang-format
- Pruebas de unidad
- Pruebas funcionales frente a la CLI,
wpantund
(contoranj
) y Pyspinel
Fusión de OSS
Se prueba fuzz con OSS-Fuzz. En esta técnica de prueba, las entradas no válidas y aleatorias se envían con una frecuencia y un volumen altos al software a fin de encontrar problemas como pérdidas de memoria o fallas.
Consulta el repositorio de OpenThread para conocer los destinos de compilación de fuzzing actuales.
Pruebas de productos
Usa las siguientes herramientas para probar tu propio producto de OpenThread.
Wireshark
Wireshark es un analizador de protocolo de red de código abierto para tráfico que se ejecuta en interfaces de red físicas y virtuales. El protocolo Thread es compatible con Wireshark 2.4.0 y versiones posteriores. Puedes encontrar la documentación y las descargas de esta herramienta en wireshark.org.
Para obtener más información sobre cómo se admite Thread en Wireshark, consulta Cómo detectar paquetes con Pyspinel.
Pispinel
Pyspinel es una CLI de Python para el protocolo Spinnaker que se usa a fin de configurar y administrar CPS o RCP de OpenThread. Esta CLI está orientada principalmente a pruebas de CI, pero se puede usar de forma manual para experimentar con instancias de coprocesador de OpenThread y probarlas.
El pispinel se utiliza para lo siguiente:
- Agregar pruebas simuladas de coprocesador a la integración continua
- Automatizar las pruebas de cama de prueba que ejecutan firmware de coprocesador en el hardware
- Depura las compilaciones de procesador de OpenThread de coprocesador.
- Convierte un coprocesador de OpenThread en un detector de paquetes.
Para obtener más información, consulta README
en el repositorio de Pyspinel.