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:
- Controlli dello stile del codice tramite
clang-format
- Test delle unità
- Test funzionali relativi a CLI,
wpantund
(contoranj
) 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.