Test

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Test del progetto

La funzionalità OpenThread rilasciata da Google viene testata da diversi strumenti.

Integrazione continua

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

CI esegue i controlli di compilazione per tutte le piattaforme di esempio utilizzando la gamma di strumenti incorporati GNU e per l'esempio simulato utilizzando GCC, Clang e Android. Crea inoltre test e verifica in base a configurazioni x86, architettura della piattaforma e dispositivo Thread. Per ulteriori informazioni su test e controlli specifici, consulta Flussi di lavoro.

Inoltre, CI esegue:

  1. Controlli di stile del codice utilizzando clang-format
  2. Test delle unità
  3. Test funzionali contro l'interfaccia a riga di comando, wpantund (con toranj) e Pyspinel

OSS-Fuzz

OpenThread è testato da fus-OS con OSS-Fuzz. Con questa tecnica di test, gli input non validi e casuali vengono inviati al software ad alta frequenza e volume per rilevare problemi quali fughe di memoria o arresti anomali.

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

Test del prodotto

Usa 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 sul modo in cui Thread è supportato in Wireshark, consulta Packet sniffing with Pyspinel.

Pyspinel

Pyspinel è un'interfaccia a riga di comando Python per il protocollo Spipinel, utilizzato per configurare e gestire gli APC o RCP di OpenThread. Questo CLI è destinato principalmente ai test CI, ma può essere utilizzato manualmente per sperimentare e testare le istanze Co-Processor di OpenThread.

Pyspinel viene utilizzato per:

  • Aggiungere test di Co-processore simulato all'integrazione continua.
  • Automatizzare il test di letti di test su cui è in esecuzione il firmware Co-Processor sull'hardware.
  • Esegui il debug di build da coprocessore di OpenThread.
  • Converti un coprocessore OpenThread in uno snapshot di pacchetto.

Per maggiori informazioni, consulta README nel repository Pyspinel.