Google 致力于为黑人社区推动种族平等。查看具体行动

测试

项目测试

由 Google 发布的 OpenThread 使用多种工具进行测试。

持续集成

OpenThread 使用 GitHub Actions 实现持续集成 (CI),使用 Codecov 实现代码覆盖率。

CI 会对使用 GNU Arm Embedded Toolchain 的所有示例平台以及使用 GCC、Clang 和 Android 的模拟示例执行构建检查。它还针对 x86、平台架构和线程设备配置进行构建和测试。如需详细了解特定测试和检查,请参阅工作流

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

  1. 使用 clang-format 进行代码样式检查
  2. 单元测试
  3. 针对 CLI、wpantund(使用 toranj)和 Pyspinel 的功能测试

OSS 模糊

OpenThread 使用 OSS-Fuzz 进行了模糊测试。 在此测试方法中,无效和随机输入以较高的频率向软件提交,以发现内存泄漏或崩溃等问题。

如需了解当前的模糊构建目标,请参阅 OpenThread 代码库。

产品测试

使用以下工具测试您自己的 OpenThread 产品。

Wireshark 语

Wireshark 是一个开源网络协议分析器,适用于在物理和虚拟网络接口上运行的流量。Wireshark 2.4.0 及更高版本支持线程协议。该工具的文档和下载内容可在 wireshark.org 上找到。

如需详细了解 Wireshark 中支持的线程,请参阅使用 Pyspinel P 探数据包

Pyspinel

Pyspinel 是 Spinel 协议的 Python CLI,用于配置和管理 OpenThread NCP 或 RCP。此 CLI 主要针对 CI 测试,但可用于手动实验和测试 OpenThread 协处理器实例。

Pyspinel 用于:

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

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