Parasoft C++testのご紹介

TechMatrix
HEWプロジェクト
C++test関連設定のまとめ
資料記載内容
• HEW環境での事前準備
~ツールアドミニストレーションの登録~
• HEW環境での操作
~HEWプロジェクトのビルド~
• C++testでの操作
~HEWプロジェクトのインポート~
• C++testでの単体テスト事前準備
~インストゥルメントを行わない設定~
Copyright(c)2011 TechMatrix Corporation All rights reserved.
TechMatrix
HEW環境での事前準備
~ツールアドミニストレーションの登録~
HEWにツールアドミニストレーションを登録
C++testからHEWを呼び出して単体テストを行うため、
HEWにツールアドミニストレーションを登録する必要があります。
※これはツールアドミニストレーションをHEWに登録する作業であり、
一度設定を行うと登録情報は保持されます。
High-performance Embedded Workshopを起動し、
[アドミニストレーション]ボタンを押下します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
HEWにツールアドミニストレーションを登録
[ツールアドミニストレーション]ダイアログが表示されます。
[登録]ボタンを押下して、次のファイルを選択します。
[C:¥Program Files¥Renesas¥Hew¥System
¥SEC¥HewTargetServer¥EcxHewTargetServer.hrf]
[登録済みコンポーネント]に
[Extension Components]
> [HewTargetServer] が
登録されていることを
確認します。
以上でHEWへのツール
アドミニストレーションの
登録は完了です。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
TechMatrix
HEW環境での操作
~HEWプロジェクトのビルド~
①HEWのワークスペースを開く
②HEWのプロジェクトをビルドする
③[I/Oシミュレーション]を開く
④HEW環境を閉じる
①HEWのプロジェクトのワークスペースを開く
High-performance Embedded Workshop上で
HEWのプロジェクトが含まれるワークスペースを開きます。
HEWのワークスペースは .hws 拡張子のファイルを指定することで開けます。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
①HEWのプロジェクトのワークスペースを開く
ワークスペースが
開きます。
C++testで解析したい
プロジェクトが
含まれていることを
確認します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
②HEWのプロジェクトをビルドする
C++testにプロジェクトを
インポートするには
事前にHEW環境で
ビルドをしておく必要が
あります。
HEWのプロジェクトを
選択している状態で
メニューから
[ビルド] > [ビルド]
を選択します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
②HEWのプロジェクトをビルドする
プロジェクトのビルドが
正常に完了します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
③[I/Oシミュレーション]ウィンドウを開く
HEWのシミュレーターで単体テストを行うための設定として[I/Oシミュレーション]
ウィンドウを開きます。
メニューから[表示] > [CPU] > [I/O シミュレーション]を選択します。
C++testへのプロジェクトを
インポートするための
事前準備は以上で完了です。
ワークスペースを保存して
HEW環境を閉じます。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
④HEW環境を閉じる
ウィンドウ右上の[×]を押下してHEW環境を閉じます。
[High-performance Embedded Workshop]ダイアログが表示されて
セッションの保存について質問されます。
[はい]ボタンを押下してセッションを保存してください。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
TechMatrix
C++testでの操作
~HEWプロジェクトのインポート~
①コンパイラへのパスを通し
C++testを起動する
②プロジェクトをインポートする
③C++test上のプロジェクトの
ビルド設定を確認する
①SH用環境変数を設定してC++testを起動する
コンパイラやライブラリへのパスを環境変数に設定し、
C++testを起動します。
HEWのインストールディレクトリにあるバッチを基にします。
<C:¥Program
Files¥Renesas¥Hew¥Tools¥Reness¥Sh¥9_3_0¥shv9300env.bat>
SHツールチェイン用環境変数の設定後にC++testが起動するようにします。
REM ***** SH ツールチェイン用 環境変数 *****
set PATH=C:¥Program Files¥Renesas¥Hew¥Tools¥Renesas¥SH¥9_3_0¥bin;%PATH%
set shc_lib=C:¥Program Files¥Renesas¥Hew¥Tools¥Renesas¥SH¥9_3_0¥bin
set shc_inc=C:¥Program Files¥Renesas¥Hew¥Tools¥Renesas¥SH¥9_3_0¥include
set shc_tmp=%TEMP%
"C:¥Program Files¥Parasoft¥C++test¥9.2¥cpptest.exe
Copyright(c)2011 TechMatrix Corporation All rights reserved.
①SH用環境変数を設定してC++testを起動する
C++test が起動します。
画面は Eclipse に
プラグインされた
C++testの画面です。
一番上のメニューバーに
[Parasoft]メニュー、
上から二番目のツール
バーには青い右向きの
三角形のボタンが
配置されています。
C++testではテストの際に
これらを使用します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
②HEWプロジェクトをC++testにインポートする
HEWのプロジェクトを
C++testにインポート
します。
メニューから
[ファイル]
> [新規]
> [プロジェクト]
を選択します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
②HEWプロジェクトをC++testにインポートする
“新規プロジェクト”ウィザードが
表示されます。
[C++test] >
[High-performance
Embedded Workshop
プロジェクトのインポート]
を選択します。
[次へ]ボタンを押下します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
②HEWプロジェクトをC++testにインポートする
[.hwp/.hwsファイルまたはルートディレクトリを選択]の欄の右にある[参照]ボタンから
「C:¥hands_on_Env¥HEW_Project¥
HEW-SH_UnitTestPractice_HEW¥UnitTestPractice_HEW.hws」を指定します。
( HEWのプロジェクトの参照は[ファイルの種類]を「*.hwp」、
HEWのワークスペースの参照は[ファイルの種類] を「*.hws」にして参照します。 )
Copyright(c)2011 TechMatrix Corporation All rights reserved.
②HEWプロジェクトをC++testにインポートする
参照対象を指定すると[インポート対象プロジェクト]の欄に
参照されたHEWのプロジェクトの一覧が表示されます。
インポートしたいプロジェクトすべてにチェックを付けてインポート対象とします。
チェックを付けたら[終了]ボタンを押下してウィザードを閉じます。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
②HEWプロジェクトをC++testにインポートする
選択したHEWプロジェクトが
C++testにインポートされ、
[ナビゲーター]ビューに
表示されます。
以上でHEWプロジェクトの
インポートは完了です。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
③C++test上のプロジェクトのビルド設定を確認する
C++testのプロジェクトを右クリックし、[プロパティ]を選択してプロパティ画面を
開きます。プロパティ画面で[Parasoft]>[C++test]>[ビルド設定]を選択すると
プロジェクトのビルド設定の画面を開けます。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
③C++test上のプロジェクトのビルド設定を確認する
インポートされた時点でHEWプロジェクト用のビルド設定となっていることを確認します。
[オプションのソース]:[HEWプロジェクトのオプションを使用]となっていることを確認。
[プロジェクトファイル]:HEWプロジェクトのhwpファイルからビルド設定を読み込む。
[コンフィギュレーション]
:HEWプロジェクトでビルド
したコンフィギュレーション
であることを確認。
[コンパイラ設定]
:SHツールチェインの
コンパイラやリンカーが
設定されていることを確認。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
TechMatrix
C++testでの単体テスト事前準備
~インストゥルメントを行わない設定~
インストゥルメントを行わない設定
C++testでHEWプロジェクトを単体テストする際には低水準関数などが含まれる
ソースファイルにはインストゥルメントを行わない設定をする必要があります。
インストゥルメントとはC++testのランタイムライブラリのコードをビルドの際に
ソースコードに埋め込むことです。埋め込むC++testのランタイムライブラリの
コードはカバレッジ計測用のコードや問題発生時のトレース用のコードなどです。
低水準関数とは処理系に依存する関数で基礎的な入出力関数などが含まれます。
C++testのランタイムライブラリのコードにはカバレッジ計測などに低水準の入出力
関数などが使われているため、インストゥルメントすると処理が再帰的にループして
しまいます。そのため、低水準関数にはインストゥルメントをしない設定を行います。
HEWプロジェクトの作成時に低水準関数を含むソースファイルが自動的に生成
されるため、設定が必要となります。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
インストゥルメントを行わない設定
C++testでは低水準関数など
が含まれるソースファイルは
インストゥルメントを行わない
設定をする必要があります。
HEWプロジェクトの作成時に
自動的に作成される低水準
関数を含むソースファイル
を選択して右クリック、
[Parasoft] >
[C++test] >
[実行設定]
を選択します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.
インストゥルメントを行わない設定
“実行設定”ダイアログの
[このソースファイルを
インストゥルメントする]
のチェックを外します。
[OK]ボタンを押下して
設定を保存します。
Copyright(c)2011 TechMatrix Corporation All rights reserved.