Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Test

Test di progetto

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

Integrazione continua

Travis CICodecov

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

CI esegue controlli di compilazione per tutte le piattaforme di esempio utilizzando GNU Arm Embedded Toolchain e per l'esempio simulato utilizzando GCC, Clang e Android. Compila e testa anche x86, architettura della piattaforma e configurazioni del dispositivo Thread. Per ulteriori informazioni su obiettivi di build specifici, vedere la matrice di build di OpenThread Travis .

Inoltre, CI esegue:

  1. Controlli dello stile del codice utilizzando il clang-format
  2. Test unitari
  3. Test funzionali contro CLI, wpantund (con toranj ) e Pyspinel

OSS-Fuzz

OpenThread è stato testato con il fuzz con OSS-Fuzz . In questa tecnica di test, gli input non validi e casuali vengono inviati ad alta frequenza e volume al software al fine di trovare problemi come perdite di memoria o arresti anomali.

Vedi il repository OpenThread per gli attuali obiettivi di build fuzzing .

Test del prodotto

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 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 su wirehark.org .

Per ulteriori informazioni su come Thread è supportato in Wireshark, vedere Packet sniffing con Pyspinel .

Pyspinel

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

Pyspinel è usato per:

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

Per ulteriori informazioni, vedere il README nel repository Pyspinel.