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:
- Controlli dello stile del codice utilizzando
clang-format
- Test unitari
- 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.