Test

Test del progetto

OpenThread rilasciato da Google viene testato da diversi strumenti.

Integrazione continua

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

L'integrazione continua esegue controlli di compilazione per tutte le piattaforme di esempio utilizzando la toolchain GNU Arm Embedded e per l'esempio simulato utilizzando GCC, Clang e Android. Inoltre, esegue la compilazione e i test in base alle configurazioni di x86, dell'architettura della piattaforma e del dispositivo Thread. Per ulteriori informazioni su test e controlli specifici, consulta Flussi di lavoro.

Inoltre, CI esegue:

  1. Controlli dello stile del codice utilizzando clang-format
  2. Test unitari
  3. Test funzionali rispetto a CLI e Pyspinel

OSS-Fuzz

OpenThread è stato testato con fuzzing con OSS-Fuzz. In questa tecnica di test, input non validi e casuali vengono inviati a un software con frequenza e volume elevati per trovare problemi come perdite di memoria o arresti anomali.

Consulta il repository OpenThread per i target di build di fuzzing attuali.

Test dei prodotti

Utilizza i seguenti strumenti per testare il tuo prodotto OpenThread.

Wireshark

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

Per ulteriori informazioni su come Thread è supportato in Wireshark, vedi Packet sniffing with Pyspinel.

Pyspinel

Pyspinel è una CLI Python per il protocollo Spinel, utilizzato per configurare e gestire NCP o RCP OpenThread. Questa CLI è destinata principalmente ai test CI, ma può essere utilizzata manualmente per sperimentare e testare le istanze del coprocessore OpenThread.

Pyspinel viene utilizzato per:

  • Aggiungi test del coprocessore simulato all'integrazione continua.
  • Automatizza i test dei banchi di prova che eseguono il firmware del coprocessore sull'hardware.
  • Esegui il debug delle build del coprocessore di OpenThread.
  • Converti un coprocessore OpenThread in uno sniffer di pacchetti.

Per ulteriori informazioni, consulta la README nel repository Pyspinel.