測試

專案測試

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 2.4.0 以上版本支援 Thread 通訊協定。您可以在 wireshark.org 找到這項工具的說明文件和下載項目。

如要進一步瞭解 Wireshark 支援 Thread 的方式,請參閱使用 Pyspinel 封包封包

Pyspinel (Pyspinel)

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

Pyspinel 的用途如下:

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

如需詳細資訊,請參閱 Pyspinel 存放區中的 README