このセクションでは、C/C++test と QNX Momentics の統合の概要を説明します。

はじめに

C/C++test プラグインは、Eclipse の標準的なプラグイン インストールの仕組みを利用して QNX Momentics IDE と統合します。詳細は「プラグインとして C/C++test をインストールする」を参照してください。

前提条件

ライセンス

C/C++test プラグインは、ローカル (マシンロック) ライセンスまたは Parasoft DTP またはスタンドアロンの Parasoft License Server インスタンスから取得したネットワーク ライセンスを使用できます。ライセンス設定の詳細については、「ライセンス」を参照してください。 

QNX プロジェクトの処理  

静的解析または単体テストを実行するには、QNX プロジェクトから以下の情報を収集する必要があります。

これらの情報は QNX Momentics IDE プロジェクト構造の記述から、make ファイルをスキャンすることによって収集されます。

make ファイルのスキャン

  1. プロジェクトを選択し、C/C++test のテスト コンフィギュレーションを実行します。
  2. ビルド プロセスが開始されます。make ファイルは、実際のコンパイル/リンク コマンド ラインの代わりに、オプション スキャン ユーティリティによってあらかじめ設定されたコマンド ラインを実行します。通常、コマンド ラインは次のように変更されます。
  3. オプション スキャナーはコマンド ラインを解析し、コンパイラ/リンカーオプションを後で使用するために保存します。

ビルド プロセスが完了すると、必要な情報がすべて収集されています。

プロジェクト構成

テストを開始する前に、プロジェクトのコンパイラ/リンカー オプション ソースが正しく設定されているかを確認します。多くの場合、C/C++test は必要な設定を自動的に検出します。コンパイラ/リンカー フラグ ソース設定は [ビルド設定] で指定されています。ビルド設定を参照するには、次の操作を行います。

  1. プロジェクト エクスプローラーでプロジェクト ノードを右クリックし、ショートカット メニューの [プロパティ] をクリックします。
  2. 左側のペインで [Parasoft] > [C/C++test] カテゴリを展開し、 [ビルド設定] カテゴリを選択します。

以下の構成オプションを指定できます。

オプションのソース

コンパイラ/リンカー スイッチの収集方法を指定します。 

QNX プロジェクトを直接テストする場合は、[QNX ビルド システムのオプションを使用] を選択します。 C++test のオプション エクストラクターは、QNX の make ファイルをスキャンします。コンパイラ/リンカーの実行可能ファイル名、コンパイラ/リンカーのコマンド ライン、コンパイル/リンク プロセスを開始するために必要なシステム環境がスキャンされます。これらの設定は、後の C++test の解析で使われます。

プロジェクト設定

コンパイラ設定

[コンパイラ設定] エリアでは、プロジェクト ソースのコンパイルとテスト実行可能ファイルのビルドで使用するコンパイラ セット/ツールを指定します。以下のオプションがあります。

オプション

ランタイム ライブラリの場所や、その他のコンパイラ/リンカーオプションを指定します。

プロジェクト レベルまたはファイル レベルでのオプションの設定」も参照してください。

静的解析

静的解析を開始する前に、プロジェクトの [プロパティー] パネルの [Parasoft] > [C/C+test] > [ビルド設定] エリアでコンパイラが適切に設定されているかを確認します。通常は [QNX ビルド システムのオプションを使用] を [オプションのソース] として選択します。コンパイラ設定が正しいことを確認したら、静的解析を開始できます。

静的解析の実行に関する全般的な情報については 「静的コード解析」 および 「フロー解析」を参照してください。

実行時テスト

このセクションでは、単体テストおよびApplication Monitoringについて説明します。

単体テスト

QNX プロジェクトのテスト用 C/C++test ランタイム ライブラリのビルド

組込みテストでは、選択されたプラットフォーム用に C++test ランタイム ライブラリをクロスコンパイルしてから、単体テストを行う必要があります。[Run QNX Momentics Tests] ビルトイン コンフィギュレーションは、自動的にランタイム ライブラリをビルドします。 

C++test ランタイム ライブラリを手動でビルドする必要がある場合は、QNX_5.mk をターゲット コンフィギュレーションとして 「C/C++test ランタイム ライブラリのビルド」の操作を行ってください。

QNX 単体テスト用テスト コンフィギュレーション

C/C++test には、QNX プロジェクト用のテスト コンフィギュレーション テンプレート( [ビルトイン] > [Embedded Systems] > [QNX] > [Run QNX Momentics Tests]) があります。このコンフィギュレーションには、QNX プロジェクトの完全な単体テストを行うために必要なステップがすべて含まれています。

このテスト コンフィギュレーションは単なるテンプレートです。次の操作を行って、リモート QNX システム構成に合わせてカスタマイズする必要があります。

  1. [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。
  2. [ビルトイン] > [Embedded Systems] > [QNX] ツリー ノードを展開します。
  3. [Run QNX Momentics Tests] ノードを右クリックし、[複製] をクリックします。
  4. [ユーザー定義] カテゴリの下に追加された新しいテスト コンフィギュレーションを選択します。
  5. [実行] タブをクリックします。
  6. リモート QNX システム構成に合わせてテスト コンフィギュレーションのプロパティを変更します。

このテスト コンフィギュレーションは、Windows の rcp ツール (リモート コピーを可能にする) および rsh ツール (リモート シェル実行を可能にする) に依存しています。リモート QNX システムは、rcp および rsh からのリモート呼び出しを許可するように構成されている必要があります。あるいは、テスト実行フローを変更して rcp および rsh 以外のツールを使用することもできます。 

テスト ケースのデバッグ

Eclipse の内部デバッグ モードを使用します。詳細については以下を参照してください。

単体テスト ケースの生成と実行に関する全般的な情報については 「テストの作成と実行」を参照してください。

アプリケーション検証

QNX アプリケーション検証用テスト コンフィギュレーション

C/C++test には、QNX アプリケーションのメモリ エラー チェック付き実行用テスト コンフィギュレーション テンプレート([ビルトイン] > [Embedded Systems] > [QNX] > [Build and Run Application with Memory Monitoring for QNX Momentics]) があります。このコンフィギュレーションには、QNX アプリケーションをメモリ エラー チェック付きで実行するために必要なステップがすべて含まれています。

このテスト コンフィギュレーションは単なるテンプレートです。リモート QNX システム構成に合わせてカスタマイズする必要があります。次の操作を行います。

  1. [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。
  2. [ビルトイン] > [Embedded Systems] > [QNX] ツリー ノードを展開します。
  3. [Build and Run Application with Memory Monitoring for QNX Momentics] ノードを右クリックし、[複製] をクリックします。
  4. [ユーザー定義] カテゴリに追加された新しいテスト コンフィギュレーションを選択します。
  5. [実行] タブをクリックします。
  6. リモート QNX システム構成に合わせてテスト コンフィギュレーションのプロパティを変更します。

このテスト コンフィギュレーションは、Windows の rcp ツール (リモート コピーを可能にする) および rsh ツール (リモート シェル実行を可能にする) に依存しています。リモート QNX システムは、rcp および rsh からのリモート呼び出しを許可するように構成されている必要があります。あるいは、テスト実行フローを変更して rcp および rsh 以外のツールを使用することもできます。 


アプリケーション検証および実行時エラー検出の実行に関する全般的な情報については 「実行時エラー検出」を参照してください。