このセクションの内容:

概要

この章では、QNX Momentics 用 C++test プラグインのインストールと基本的なセットアップの方法について説明します。

統合の概要

C++test プラグインは、Eclipse プラグイン メカニズムを使用して QNX Momentics IDE と統合します。次の場所にリンク ファイルを追加することで、C++test が QNX Momentics IDE にプラグインされます。

 <QNX Installation Root>/host/win32/x86/usr/qde/eclipse/links/com.parasoft.xtest.cpptest.link

 リンク ファイルには、C++test プラグインへのパスが記述されています。それによって、起動時にプラグインをロードする必要があることが QNX Momentics IDE に通知されます。

C++test をインストールすると、C/C++ パースペクティブにビューが追加されます。また、独自の C++test パースペクティブを利用することもできます。

インストール

要件

インストール

C++test Eclipse プラグインを QNX Momentics IDE にインストールするには、次の操作を行います。

  1. C++test プラグイン インストーラーを実行します。  
  2. セットアップ言語を選択します。  
  3. C++test をインストールするかどうかを確認するダイアログが表示されたら、[はい] をクリックします。  
  4. ライセンス情報を読み、同意する場合は [はい] をクリックします。  
  5. QNX ターゲット プラットフォームを選択し、[次へ] をクリックします。  
  6. QNX Momentics のインストール ディレクトリが自動検出されていない場合は入力し、[OK] をクリックします。  
  7. C++test Extension ファイルをインストールするディレクトリを入力し、[次へ] をクリックします。  
  8. 起動中の IDE がある場合は閉じ、IDE を閉じるよう通知するダイアログの [OK] ボタンをクリックします。ファイルのコピーが開始され、必要なファイルが Momentics にインストールされます。進捗状況を示すダイアログが表示されます。インストールが完了すると、通知ダイアログが表示されます。  
  9. [OK] ボタンをクリックして通知ダイアログをクローズします。  

インストール時に QNX Momentics IDE に組込まれた Eclipse にリンク ファイルが作成されます。リンク ファイルは次の場所に作成されます。 <QNX Installation Root>/host/win32/x86/usr/qde/eclipse/links/com.parasoft.xtest.cpptest.link リンク ファイルには、C++test プラグインへのパスが記述されています。これは、C++test をインストールすることで QNX Software Development プラットフォームのディストリビューションに加えられる唯一の変更です。

起動

プラグインが正常にインストールされたら、通常どおりの起動方法で、C++test プラグインがインストールされた QNX Momentics IDE を起動できます。C++test をインストールすると、C/C++ パースペクティブにビューが追加されます。

また、独自の C++test パースペクティブを利用することもできます。

ライセンス登録

ライセンスを登録するには、次の操作を行います。

  1. [Parasoft] メニューの [設定] をクリックします。  
  2. 左側のペインで [Parasoft] > [ライセンス] を開きます。  
  3. マシン固有のライセンスを登録するには、次の操作を行います。  
    1. ユーザー登録カードに必要事項を記入し、Parasoft 製品カスタマー センターに FAX (03-5792-8706) してパスワードを取得します。詳細については「インストール ガイド」を参照してください。  
    2. ライセンス設定ページの [ローカル ライセンス] セクションにパスワードを入力します。  
  4. LicenseServer ライセンスを登録するには、次の操作を行います。  
    1. [LicenseServer を使用] チェックボックスをオンにします。ライセンス設定ページの [LicenseServer] セクションが有効になります。  
    2. まだ適切な LicenseServer が設定されていない場合、[自動検出されたサーバー] ドロップダウン リストから選択して [設定] ボタンをクリックするか、License Server のホスト (ホスト名または IP アドレス) を[ホスト名] フィールドに、License Server のポートを [ポート番号] フィールドに手動で入力します。  
    3. 使用するライセンス タイプを [エディション] ドロップダウン リストから選択します。  
  5. [適用] をクリックします。ライセンスされたオプションが表示されます。  

アンインストール

C++test QNX Momentics IDE プラグインをアンインストールするには、次の操作を行います。

  • Windows のコントロール パネルの [プログラムの追加と削除] から Windows C++test インストーラーを実行し、[削除] オプションを選択します。  

<QNX Installation Root>/host/win32/x86/usr/qde/eclipse/links/com.parasoft.xtest.cpptest.link ファイルを削除することで C++test をアンインストールしないでください。このファイルを削除しても、手動で C++test を手動で削除する必要があるほか、Windows レジストリの Install Shield 情報が削除されないまま残ります。

QNX プロジェクトの処理 - オプションのスキャン

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

  • ソース ファイルへのパス  
  • コンパイラのコマンド ライン  
  • リンカーのコマンド ライン  

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

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

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

プロジェクト構成

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

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

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

  • オプションのソース コンパイラ/リンカー スイッチの収集方法を指定します。QNX プロジェクトを直接テストする場合は、[QNX ビルド システムのオプションを使用] を選択します。 C++test のオプション エクストラクターは、QNX の make ファイルをスキャンします。コンパイラ/リンカーの実行可能ファイル名、コンパイラ/リンカーのコマンド ライン、コンパイル/リンク プロセスを開始するために必要なシステム環境がスキャンされます。これらの設定は、後の C++test の解析で使われます。
  • プロジェクト設定コンパイラ/リンカー フラグを収集するためにスキャンされるビルド構成を指定します。
  • ビルド コマンド ライン ビルド システムを起動するコマンド ラインを入力します。システムは特に限定されていませんが、デフォルトでは make ベースのシステムが想定され、適切なコマンドがあらかじめ設定されています。コマンドはプロジェクトの Makefile でmake を実行し、プロジェクトのコンパイルおよびリンク オプションをスキャンします。そのために、C/C++ コンパイラおよびリンカーは、${CPPTEST_SCAN} マクロに隠された特別なスキャナーに置き換えられます。-i および -B make オプションを使用すると非常に便利です (詳細については 「make ツールの差異と -i / -B オプション 」 を参照してください)。
  • ビルド作業ディレクトリ ビルド コマンドを起動するディレクトリを指定します。
  • 従属ファイル  テスト/ビルド アクションが実行されるたびに、変更があるかどうかをチェックするファイルを指定します。ファイルが変更されていると、ビルド コマンドが再実行されます。プロジェクトのオプションのソースとなる (あるいはオプションに影響を与える) すべてのファイルを指定する必要があります。通常は Makefile だけです。
  • キャッシュのリセット ボタン スキャンされたすべてのオプションを消去し、次回のテスト アクションで再スキャンします (詳細については 「make ツールの差異と -i / -B オプション 」 を参照してください)。

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

  • 種類 現在登録されているすべてのコンパイラ から適切な種類コンパイラを選択します (QNX Development Platform 6.4.0 の場合は QNX QCC 4.2.x を、QNX Development Platform 6.5.0 の場合は QNX QCC 4.4.x を使用します)。[自動検出] ボタンをクリックすると、コンパイラ実行可能ファイルの設定と、コンパイラ構成ディレクトリに保存されたコンパイラ バージョンの正規表現に基づいて、コンパイラの種類が検出されます。組込みソリューションで使用されるコンパイラはさまざまな種類があるため、自動検出で常に期待どおりの結果が得られるとは限りません。
  • C コンパイラ C コンパイラの実行可能ファイルを指定します。
  • C++ コンパイラC++ コンパイラの実行可能ファイルを指定します。
  • リンカー リンカーの実行可能ファイルを指定します。


静的解析

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

詳細情報

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

実行時テスト

このセクションでは、単体テストおよびアプリケーション検証について説明します。

単体テスト

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

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

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

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

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

  • C++test ランタイム ライブラリのビルド  
  • テスト実行可能ファイルのビルド  
  • リモートの QNX システムでのテスト実行可能ファイルの実行  
  • 結果の収集  

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

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

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

テスト ケースのデバッグ

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

詳細情報

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

アプリケーション検証

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

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

  • アプリケーションのビルド  
  • リモート QNX システムでのアプリケーションの実行  
  • 結果の収集  

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

  1. [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。  
  2. [ビルトイン] > [Embedded Systems] > [QNX] ツリー ノードを展開します。  
  3. [Build and Run Application with Memory Monitoring for QNX Momentics] ノードを右クリックし、[複製] をクリックします。  
  4. [ユーザー定義] カテゴリの下に追加された新しいテスト コンフィギュレーションを選択します。  
  5. [実行] タブを開きます。  
  6. リモート QNX システム構成に合わせてテスト コンフィギュレーションのプロパティを変更します。  
    • QNX target ターゲット ホストのアドレス  
    • QNX target test directory  ターゲット ホストのアプリケーションが実行されるディレクトリ
    • QNX target user name ターゲット ホストへの接続で使用されるユーザー名
    • QNX target PHOTON environment variable value GUI アプリケーションの場合、Phindows セッションでアプリケーションの GUI を表示するには、この値を指定する必要があります。 

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

詳細情報

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


 



  • No labels