Prueba

Pruebas del proyecto

Varias herramientas prueban las funciones de OpenThread que lanza Google.

Integración continua

OpenThread usa acciones de GitHub 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 la configuración 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:

  1. Verifica el estilo del código con clang-format
  2. Pruebas de unidad
  3. Pruebas funcionales contra la CLI, wpantund (con toranj) y Pyspinel

Fucsia (OSS)

OpenThread se probó con fuzz con OSS-Fuzz. En esta técnica de prueba, las entradas aleatorias y no válidas se envían a una frecuencia y un volumen altos de software para detectar problemas, como fallas o fugas de memoria.

Consulta el repositorio de OpenThread para conocer los destinos de compilación del fuzzing actual.

Pruebas de productos

Usa las siguientes herramientas para probar tu propio producto OpenThread.

Wireshark

Wireshark es un analizador de protocolo de red de código abierto para el tráfico que se ejecuta en interfaces de red virtuales y físicas. 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 la compatibilidad de Thread en Wireshark, consulta Detección de paquetes con Pyspinel.

Pispinela

Pyspinel es una CLI de Python para el protocolo de Spinnaker que se usa a fin de configurar y administrar NCP o RCP de OpenThread. Esta CLI está orientada principalmente a pruebas de IC, pero puede usarse de forma manual para experimentar con instancias de coprocesador de OpenThread y probarlas.

La pispinel se usa para lo siguiente:

  • Agregar pruebas simuladas del procesador a la integración continua
  • Automatice las pruebas de los lechos de prueba que ejecutan el firmware de Coprocesador en hardware.
  • Depurar compilaciones de Coprocesadores abiertos de OpenThread
  • Convierte un coprocesador de OpenThread en un detector de paquetes.

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