IAR EW 環境の統合は次のように提供されます。
IAR Embedded Workbench プロジェクトのテストを容易にするために、以下のコンポーネントが用意されています。
各ツールチェーンのセクションで、さらにテスト コンフィギュレーションについて説明しています。それらのテスト コンフィギュレーションは手動で構成されます。EW 生成 C-SPY バッチ スクリプトを利用できない場合や他の問題のあるケースのために、あくまでバックアップ的な解決方法として提供されたものです。可能な場合は必ず前述の Batch Template テスト コンフィギュレーションを使用してください。
[Generate Unit Tests] や [Generate Stubs] などの標準的なテスト コンフィギュレーションも IAR プロジェクトに対して使用できますし、コード品質を確保するために使用が推奨されます。
複数の IAR EW が共存する環境のサポートに対して、大幅な変更が C++test 9.1 から適用されました。C++test がプロジェクトを正しくビルドしてテストするには、どの IAR のバージョン/インストレーションがインストールされているかについての情報が非常に重要です。 IAR のバージョン/インストレーション情報を得るために内部プロジェクト データを使用することを IAR は推奨しません。そのため、IAR の Windows レジストリ エントリを参照したり、EW_DIR や PATH 環境変数などの基本的な情報を参照して推測しなければなりません。Parasoft は、EW_DIR 変数を EW のインストール ディレクトリのパスに設定し、C++test バックアップ メカニズムとして別の手法を可能にすることを強く推奨します。 C++test は、プロジェクトをインポートするときと .ewp プロジェクト ファイルをスキャンするときの両方について、このバージョン付け手法を使用します。各手法と環境設定を利用して、選択/推測された EW がレジストリにあるかをチェックします。適切に登録されていない場合、C++test は EW と連携して動作することができません。 単一のセッション (アプリケーション実行) の最中、C++test は選択された 1 つのバージョン/インストレーションとだけ連携して動作します。これを変更するには、変更された環境で C++test で再起動する必要があります。 |
void f(int __data16 *)
と void f(int __data24 *)
という 2 つの異なる関数のカバレッジが、同じ f(int *)
というシグニチャで表示される場合があります。 gui.properties
ファイルの cppCompilerCmdLine=
で始まる行を探し、--eec++
オプションを必要なオプションに変更します。この行は、例えば次のように見えます。 cppCompilerCmdLine=$(exe) $(filtered_opts) --eec++
-I $(CPPTEST_INCLUDE_DIR) $(input) -o $(output)
gui.properties
ファイルに cppCompilationModeOption=
で始まる行がある場合、--eec++
オプションも必要な値に変更する必要があります。この行は、例えば次のように見えます。 cppCompilationModeOption=--eec++
cpp.psrc
ファイルを次のように変更します。 edgtk.preprocessorCommand
で始まる行および edgtk.gccAutoconfiguratorCommand
で始まる行を探し、--eec++
コンパイラ オプションを必要な値に変更します。これらの行は、例えば次のように見えます。 edgtk.preprocessorCommand {exe} --preprocess=nl {out} {opts} --eec++ {in}
edgtk.gccAutoconfiguratorCommand {exe} --preprocess=nl {tmpout} {opts} --eec++ --silent --predef_macros {out} {in}
bin
または inc
など) も選択し、それらのディレクトリをリンクされたフォルダーとして扱う場合があります。結果として、解析スコープに余分なファイルが含まれ、パフォーマンスの問題を引き起こしたり、C++test コンソールに予期しないメッセージが表示されることがあります。この問題を回避するには、C++test プロジェクトから不要なリンクされたフォルダーを削除します。また、C++test が .bdf ファイルから新規プロジェクトを作成する際に、余分なディレクトリを選択するのを回避することもできます。例えば、GUI で次の操作を行います。