Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

テスト

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

プロジェクトのテスト

Google がリリースした OpenThread には、数多くのツールがあります。

継続的インテグレーション

OpenThread は、継続的インテグレーション(CI)には GitHub Actions を使用し、コード カバレッジには Codecov を使用します。

CI は、GNU Arm 組み込みツールチェーンを使用するすべてのサンプル プラットフォームと、GCC、Clang、Android を使用してシミュレーションされたサンプルに対して、ビルドチェックを実行します。また、x86、プラットフォーム アーキテクチャ、Thread デバイス構成に対するビルドとテストも行います。特定のテストとチェックの詳細については、ワークフローをご覧ください。

加えて、CI は次の処理を行います。

  1. clang-format を使用したコードスタイル チェック
  2. 単体テスト
  3. CLI、wpantundtoranj を使用)、Pyspinel に対する機能テスト

OSS ファズ

OpenThread は、OSS-Fuzz でファズテストを行います。このテスト手法では、無効な入力やランダム入力が高頻度でソフトウェアに送信され、メモリリークやクラッシュなどの問題が検出されます。

現在のファジング ビルド ターゲットについては、OpenThread リポジトリをご覧ください。

プロダクトのテスト

独自のツールを使用して OpenThread プロダクトをテストします。

ワイヤシャーク

Wireshark は、物理ネットワーク インターフェースと仮想ネットワーク インターフェースで動作するトラフィック用のオープンソースのネットワーク プロトコル アナライザです。Thread プロトコルは Wireshark 2.4.0 以降でサポートされています。このツールのドキュメントとダウンロードは、wireshark.org で入手できます。

Wireshark における Thread のサポートについて詳しくは、Pyspinel でのパケット スニッフィングをご覧ください。

ピスピネル

Pyspinel は、Spinel プロトコル用の Python CLI であり、OpenThread NCP または RCP の構成と管理に使用されます。この CLI は主に CI テストを対象としていますが、手動で OpenThread Co-Processor インスタンスを試すこともできます。

Pyspinel を使用すると、次のことができます。

  • 継続的インテグレーションに共同プロセッサ テストを追加します。
  • ハードウェアで Co-Processor ファームウェアを実行している testbed のテストを自動化します。
  • OpenThread のコプロセッサ ビルドをデバッグします。
  • OpenThread コプロセッサをパケット スニッファに変換します。

詳細については、Pyspinel リポジトリの README をご覧ください。