Pengujian

Pengujian project

OpenThread yang dirilis oleh Google diuji dengan sejumlah alat.

Continuous integration

OpenThread menggunakan GitHub Actions untuk continuous integration (CI), dan Codecov untuk cakupan kode.

CI melakukan pemeriksaan build untuk semua platform contoh menggunakan toolchain Arm Embedded Arm dan untuk contoh simulasi menggunakan GCC, Clang, dan Android. Library ini juga mem-build dan menguji aplikasi terhadap x86, arsitektur platform, dan konfigurasi perangkat Thread. Untuk informasi selengkapnya tentang pengujian dan pemeriksaan tertentu, lihat Alur kerja.

Selain itu, CI melakukan:

  1. Pemeriksaan gaya kode menggunakan clang-format
  2. Pengujian unit
  3. Pengujian fungsi terhadap CLI, wpantund (dengan toranj), dan Pyspinel

Fusi OSS

OpenThread diuji fuzz dengan OSS-Fuzz. Dalam teknik pengujian ini, input yang tidak valid dan acak dikirimkan pada frekuensi dan volume yang tinggi ke software untuk menemukan masalah seperti kebocoran memori atau error.

Lihat repositori OpenThread untuk target build fuzzing saat ini.

Pengujian produk

Gunakan alat berikut untuk menguji produk OpenThread Anda sendiri.

Wireshark

Wireshark adalah penganalisis protokol jaringan open source untuk traffic yang berjalan di antarmuka jaringan fisik dan virtual. Protokol Thread didukung di Wireshark 2.4.0 dan yang lebih baru. Dokumentasi dan download untuk alat ini dapat ditemukan di wireshark.org.

Untuk informasi selengkapnya tentang cara Thread didukung di Wireshark, lihat Pengemasan paket dengan Pyspinel.

Pispinel

Pyspinel adalah Python CLI untuk Spinel Protocol, yang digunakan untuk mengonfigurasi dan mengelola OpenThread NCPs atau RCP. CLI ini terutama ditargetkan untuk pengujian CI, tetapi dapat digunakan secara manual untuk bereksperimen dengan dan menguji instance OpenThread Co-Processor.

Pispinel digunakan untuk:

  • Menambahkan pengujian Co-Processor yang disimulasikan ke continuous integration.
  • Mengotomatiskan pengujian testbed yang menjalankan firmware Co-Processor di hardware.
  • Melakukan debug build Co-Processor OpenThread.
  • Mengonversi Co-Processor OpenThread menjadi sniffer paket.

Untuk informasi selengkapnya, lihat README di repositori Pyspinel.