Prueba

Pruebas del proyecto

Google lanzó OpenThread, que se prueba con varias herramientas.

Integración continua

OpenThread usa GitHub Actions para la integración continua (CI) y Codecov para la cobertura del código.

La CI realiza verificaciones de compilación para todas las plataformas de ejemplo con la cadena de herramientas integrada de GNU Arm y para el ejemplo simulado con GCC, Clang y Android. También compila y prueba en función de las configuraciones de x86, la arquitectura de la plataforma y el dispositivo Thread. Para obtener más información sobre pruebas y verificaciones específicas, consulta Workflows.

Además, la CI realiza las siguientes acciones:

  1. Verificaciones de estilo de código con clang-format
  2. Pruebas de unidad
  3. Pruebas funcionales en la CLI y Pyspinel

OSS-Fuzz

OpenThread se somete a pruebas de fuzz con OSS-Fuzz. En esta técnica de prueba, se envían entradas no válidas y aleatorias con una alta frecuencia y volumen al software para encontrar problemas como pérdidas de memoria o fallas.

Consulta el repositorio de OpenThread para ver los destinos de compilación de fuzzing actuales.

Pruebas de productos

Usa las siguientes herramientas para probar tu propio producto OpenThread.

Wireshark

Wireshark es un analizador de protocolos de red de código abierto para el 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 documentación y descargas para esta herramienta en wireshark.org.

Para obtener más información sobre cómo se admite Thread en Wireshark, consulta Captura de paquetes con Pyspinel.

Pyspinel

Pyspinel es una CLI de Python para el protocolo Spinel, que se usa para configurar y administrar NCP o RCP de OpenThread. Esta CLI está diseñada principalmente para pruebas de CI, pero se puede usar de forma manual para experimentar con instancias de coprocesador de OpenThread y probarlas.

Pyspinel se usa para lo siguiente:

  • Agrega pruebas simuladas del coprocesador a la integración continua.
  • Automatizar las pruebas de los bancos de pruebas que ejecutan el firmware del coprocesador en el hardware
  • Depura las compilaciones del coprocesador de OpenThread.
  • Convierte un coprocesador de OpenThread en un analizador de paquetes.

Para obtener más información, consulta README en el repositorio de Pyspinel.