Test

Test dei progetti

OpenThread rilasciato da Google è testato da una serie di strumenti.

Integrazione continua

OpenThread utilizza le azioni GitHub per l'integrazione continua (CI) e Codecov per la copertura del codice.

CI esegue controlli di build per tutte le piattaforme di esempio utilizzando GNU Arm Embedded Toolchain e per l'esempio simulato con GCC, Clang e Android. Realizza inoltre test e test su x86, architettura della piattaforma e configurazioni di dispositivi Thread. Per ulteriori informazioni su test e controlli specifici, consulta Flussi di lavoro.

Inoltre, CI esegue le seguenti operazioni:

  1. Controlli dello stile del codice tramite clang-format
  2. Test delle unità
  3. Test funzionali relativi a CLI, wpantund (con toranj) e Pyspinel

OSS-Fuzz

OpenThread è testato con OSS-Fuzz. Con questa tecnica di test, gli input non validi e casuali vengono inviati al software con frequenza e volume elevati per individuare problemi quali perdite di memoria o arresti anomali.

Consulta il repository OpenThread per le attuali destinazioni di build fuzz attuali.

Test dei prodotti

Utilizza i seguenti strumenti per testare il tuo prodotto OpenThread.

Wireshark

Wireshark è un analizzatore di protocollo di rete open source per il traffico in esecuzione su interfacce di rete fisica e virtuale. Il protocollo Thread è supportato in Wireshark 2.4.0 e versioni successive. La documentazione e i download relativi a questo strumento sono disponibili all'indirizzo wireshark.org.

Per maggiori informazioni su come Thread è supportato in Wireshark, consulta la pagina Packet sniffing with Pyspinel.

Pyspinel

Pyspinel è un'interfaccia a riga di comando Python per il protocollo Pinel, utilizzato per configurare e gestire NCP o RCP OpenThread. Questo CLI è destinato principalmente ai test CI, ma può essere utilizzato manualmente per sperimentare e testare istanze di co-processore OpenThread.

Pyspinel consente di:

  • Aggiungere test co-processori simulati per l'integrazione continua.
  • Automatizzare i test di letti di test che eseguono firmware Co-Processor su hardware.
  • Esegui il debug delle build di co-processori di OpenThread.
  • Convertire un co-processore OpenThread in uno snapshot di pacchetti.

Per saperne di più, consulta README nel repository Pyspinel.