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

テスト

プロジェクトテスト

GoogleがリリースしたOpenThreadは、さまざまなツールでテストされています。

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

OpenThreadは使用していますGitHubのアクションを継続的インテグレーション(CI)のために、とCodecovコードカバレッジのために。

CIは、GNU Arm Embedded Toolchainを使用してすべてのサンプルプラットフォームに対してビルドチェックを実行し、GCC、Clang、およびAndroidを使用してシミュレートされたサンプルに対してビルドチェックを実行します。また、x86、プラットフォームアーキテクチャ、およびスレッドデバイス構成に対してビルドおよびテストを行います。具体的なテストとチェックの詳細については、ワークフロー

さらに、CIは以下を実行します。

  1. コードスタイルをチェックし使用してclang-format
  2. ユニットテスト
  3. 機能テストCLIに対するwpantund (とtoranj )、およびPyspinel

OSS-ファジング

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

以下のためのOpenThreadリポジトリを参照してください。現在のファジングのビルドターゲットを

製品テスト

次のツールを使用して、独自のOpenThread製品をテストします。

Wireshark

Wiresharkは、物理および仮想ネットワークインターフェイスで実行されるトラフィック用のオープンソースネットワークプロトコルアナライザです。スレッドプロトコルがサポートされWiresharkの2.4.0以降。このツールのドキュメントとダウンロードはで見つけることができwireshark.org

スレッドは、Wiresharkの中でサポートされている方法の詳細については、パケットがPyspinelで盗聴

ピスピネル

PyspinelはPythonのためのCLIであるスピネルプロトコル、設定するために使用し、管理OpenThread NCPのかのRCPを。このCLIは主にCIテストを対象としていますが、OpenThreadコプロセッサーインスタンスを実験およびテストするために手動で使用できます。

ピスピネルは次の目的で使用されます。

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

詳細については、 README Pyspinelリポジトリに。