測試

專案測試

Google 發布的 OpenThread 由多種工具測試。

持續整合

OpenThread 使用 GitHub Actions 進行持續整合 (CI),Codecov 則適用於程式碼涵蓋範圍。

CI 使用 GNU Arm Embedded Toolchain 以及使用 GCC、Clang 和 Android 的模擬範例執行建構檢查。也會根據 x86、平台架構和 Thread 裝置設定來進行測試。如要進一步瞭解特定測試和檢查,請參閱工作流程一文。

此外,CI 也會執行下列工作:

  1. 使用 clang-format程式碼樣式檢查
  2. 單元測試
  3. 對 CLI、wpantund (搭配 toranj) 和 Pyspinel 進行功能測試

OSS-Fuzz

OpenThread 是由 OSS-Fuzz 測試的模糊效果。在這個測試技術中,系統會以高頻率和隨機方式將輸入內容提交到軟體,藉此找出記憶體流失或當機等問題。

請參閱 OpenThread 存放區,瞭解目前的模糊版本建構目標

產品測試

使用下列工具測試自己的 OpenThread 產品。

維沙克 (Wireshark)

Wireshark 是一種開放原始碼網路通訊協定分析工具,適用於在實體和虛擬網路介面上運作的流量。Wireshark 2.4.0 以上版本支援 Thread 通訊協定。您可以在 wireshark.org 找到這項工具的說明文件和下載項目。

如要進一步瞭解 Wireshark 支援 Thread,請參閱 Pyspinel 的封包解析一文。

Pyspinel

Pyspinel 是 Python CLI 的 Spinel 通訊協定,用於設定及管理 OpenThread NCP 或 RCP。這個 CLI 主要用於持續整合測試,但可以手動使用,以測試及測試 OpenThread Co-Processor 執行個體。

Pyspinel 的用途:

  • 將模擬輔助處理器測試新增至持續整合。
  • 自動對硬體執行 Co-Processor 韌體的測試方案進行自動測試。
  • 對 OpenThread 的共同處理器進行偵錯。
  • 將 OpenThread Co-Processor 轉換為封包封包。

詳情請參閱 Pyspinel 存放區中的 README