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