测试

项目测试

Google 发布的 OpenThread 经过了多种工具的测试。

持续集成

OpenThread 使用 GitHub Actions 进行持续集成 (CI),并使用 Codecov 进行代码覆盖率分析。

CI 使用 GNU Arm 嵌入式工具链对所有示例平台执行 build 检查,并使用 GCC、Clang 和 Android 对模拟示例执行 build 检查。它还针对 x86、平台架构和 Thread 设备配置进行构建和测试。如需详细了解具体测试和检查,请参阅工作流

此外,CI 还执行以下操作:

  1. 使用 clang-format 进行的代码样式检查
  2. 单元测试
  3. 针对 CLI 和 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 主要用于 CI 测试,但也可手动使用,以便对 OpenThread 协处理器实例进行实验和测试。

Pyspinel 用于:

  • 向持续集成添加了模拟协处理器测试。
  • 自动测试在硬件上运行协处理器固件的测试平台。
  • 调试 OpenThread 的协处理器 build。
  • 将 OpenThread 协处理器转换为数据包嗅探器。

如需了解详情,请参阅 Pyspinel 代码库中的 README