このセクションでは、ARM RVDS を使ってコンパイル/ビルドするコードに対して実行時テストを構成する方法について説明します。
セクションの内容:
全般的な構成
RVDS プロジェクトをテストするためのテスト コンフィギュレーションは、C++test ランタイム ライブラリを自動的にビルドするよう構成されています。C++test ランタイム ライブラリで選択されている通信チャネルは、セミホストされるファイル I/O 書き込みに基づきます。セミホストのサポートは特定のプラットフォームでは利用できません。C++test ランタイム ライブラリおよび代替通信チャネルをカスタマイズする必要があります。詳細については 「C++test ランタイム ライブラリのビルド」を参照してください。
RVDS テスト コンフィギュレーションのカスタマイズ
C++test には、RVDS プロジェクトを解析するために次のビルトイン テスト コンフィギュレーションが用意されています。
- [ビルトイン] > [Embedded Systems] > [ARM] > [Run RVDS 3.x 4.x Application with Memory Monitoring]
- [ビルトイン] > [Embedded Systems] > [ARM] > [Run RVDS 3.x 4.x Tests]
これらのテスト コンフィギュレーションは、ターゲット デバイスまたはシミュレーターでテスト用実行モジュールを実行することを目的とします。テスト用実行モジュールのロードと起動のプロセスは、次の形式の自動生成スクリプトを使って RealView デバッガーを介して処理されます。
#This script generates ARM debugger's (rvdebug) run script WAIT ON connect "$TARGET_DEVICE$" load/r '$TEST_EXECUTABLE$;;$TEST_ARGUMENT$' go disconnect quit y
デバッガー スクリプト テンプレートは次の場所にあります。
<C++test Install dir>\engine\etc\templates\for_recipes\arm_test.tja
RealView デバッガーを使って C++test のテスト コンフィギュレーションを実行するには、特定の RealView デバッガーのデバッグ構成を作成する必要があります。RealView デバッガーでデバッグ構成を作成するための全般的な手順については、RealView のドキュメントの「Creating the new Debug Configuration」を参照してください。デバッグ構成の名前は通常 2 つの部分から構成されます。1 つはターゲットの名前、もう 1 つは関連付けられたデバッグ インターフェイス インスタンスの名前です。
たとえば、 @ARM_Cortex-M3@ISSM_1 といった名前になります。
デバッグ構成を作成したら、RVDS の C++test パースペクティブで次の操作を行います。
- [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。
- ターゲット固有のテスト コンフィギュレーションを作成するために、[Run RVDS 3.x, 4.x Tests] ビルトイン テスト コンフィギュレーションを右クリックしてショートカット メニューの [複製] をクリックします。
- ターゲットを参照するよう、複製したテスト コンフィギュレーションの名前を変更します。
- 複製したテスト コンフィギュレーションの [実行] > [全般] タブをクリックします。
- [実行の詳細] で実行プロパティを変更します。具体的には、[Target connection configuration] の値を実際のターゲット名に合わせて変更します。たとえば上記の例であれば @ARM7TDMI@RVISS に変更します。
- [閉じる] ボタンをクリックしてテスト コンフィギュレーションを保存します。これで、このテスト コンフィギュレーションを使って、シミュレーターの指定のデバッグ構成でテストを実行することができます。
単体テスト
C++test には、 RealView プロジェクトのためのビルトイン テスト コンフィギュレーションが用意されています。たとえば [Run RVDS 3.x 4.x Tests] テスト コンフィギュレーションは、過去にビルドされたテスト用実行モジュールを RealView デバッガーで実行し、実行結果を収集します。RealView プロジェクトのためのテスト コンフィギュレーションは、 [ビルトイン] > [Embedded Systems] > [ARM] カテゴリにあります。
ターゲットまたはシミュレーターで単体テストを実行するには、次の操作を行います。
- テスト ケースを手動で作成するか、自動生成します。
- Run RVDS 3.x 4.x Tests ビルトイン テスト コンフィギュレーションを複製します。
- [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。
- [ビルトイン] > [Embedded Systems] > [ARM] を展開します。
- Run RVDS 3.x 4.x Tests テスト コンフィギュレーションを右クリックし、ショートカット メニューの [複製] をクリックします。
- 必要に応じてテスト コンフィギュレーションを変更します。
- 詳細については 「全般的な構成」 を参照してください。
- 目的のテスト コンテキストを選択します。
- 作成したテスト コンフィギュレーションを使ってテストを実行します。
テスト ケースのデバッグ
C++test はこの環境での直接的なテスト ケース デバッグをサポートしていません。
オリジナル/テスト対象プロジェクトに合った適切なデバッグ/起動構成を使ってテスト用実行モジュールをロードし、目的のテスト ケースに手動でブレークポイントを設定してください。
アプリケーション検証
アプリケーション検証を容易にするために、C++test には [ビルトイン] > [Embedded Systems] > [ARM] > [Run RVDS 3.x 4.x Tests] テスト コンフィギュレーションが提供されています。
ターゲットでアプリケーション検証を実行するには、次の操作を行います。
- [ビルトイン] > [Embedded Systems] > [ARM] > [Run RVDS 3.x 4.x Tests] テスト コンフィギュレーションを複製します。次の操作を行います。
- [Parasoft] メニューの [テスト コンフィギュレーション] をクリックします。
- [ビルトイン] > [Embedded Systems] > [ARM] を展開します。
- [Run RVDS 3.x 4.x Tests] を右クリックし、ショートカット メニューの [複製] をクリックします。
- 必要に応じてテスト コンフィギュレーションを変更します。
- 詳細については 「全般的な構成」 を参照してください。
- テスト コンテキストを選択します。
- 作成したユーザー定義テスト コンフィギュレーションを使ってテストを実行します。
シミュレーター (RTSM シミュレーター) または実際のハードウェアでのテスト
C++test のテスト コンフィギュレーションは、SSH プロトコルを介してリモート実行できるシミュレーターまたは実際のハードウェアをテストするように構成されています。このテスト コン フィギュレーションは、Linux ベースのアプリケーションでテストが実行されると想定します。 ただし、Linux ではないアプリケーションまたはベア メタル アプリケーションも可能です。詳細につい てはカスタマー サポートにお問い合わせください。
ビルトイン テスト コンフィギュレーションのカスタマイズ
ARM DS-5 プロジェクトの実行時テストを実行するために用意されているテスト コンフィギュレー ション ( [ビルトイン] > [Embedded Systems] > [ARM] ) は、環境特有のカスタマイズが必要 な場合があります。よくあるカスタマイズは、テスト フロー定義プロパティを設定することです ( [ 実行] > [全般] タブの [実行の詳細] セクション)。
次の表は、ARM DS-5 用ビルトイン テスト コンフィギュレーションのテスト フロー プロパティで す。
- Run ARM Embedded Linux Test Executable
- Run ARM Embedded Linux Application with Memory Monitoring
名前 | デフォルト値 | 説明 |
---|---|---|
ARM Linux target | 10.9.1.1 | テスト対象プロジェクトのテ ストを実行するために使用さ れるターゲットの IP アドレ ス。 |
ARM Linux target directory | /home/user | ターゲット上のディレクトリ。 ここにテスト用実行モジュー ルが置かれる。 |
ARM Linux target user name | user | ターゲットのユーザー名。 |
次の表は、以下の ARM DS-5 ビルトイン コンフィギュレーションのテスト フロー プロパティで す。
- Run DS-5 Test Executable (Software Model)
- Run DS-5 Application with Memory Monitoring (Software Model)
名前 | デフォルト値 | 説明 |
---|---|---|
Software Model Executable | FVP_EB_Cortex-A8 | シミュレーター実行ファイル |
デフォルトのテスト実行フローでは不十分な場合 (たとえばターゲットにテスト用モジュールをダウンロードする操作を追加する必要がある場合など)、ユーザーは簡単にデフォルトのテスト フロー定義を変更できます。テスト フロー定義のカスタマイズの詳細については 「テスト実行フローのカスタマイズ」 を参照してください。
単体テスト
[Run ARM Embedded Linux Test Executable] および [Run DS-5 Test Executable (Software Model)] テスト コンフィギュレーションは単体テストのプロセスを容易にするために提供されています。シミュレーターまたは実際のハードウェア システムで単体テストを実行するには、次の操作を行います。
- テスト ケースを手動で作成するか自動生成します。
- 単体テスト用のテスト コンフィギュレーションを複製します。
- 複製したテスト コンフィギュレーションを必要に応じて変更します。
- 詳細については 「ビルトイン テスト コンフィギュレーションのカスタマイズ 」 を参照してください。
- 目的のテスト コンテキストを選択します。
- カスタマイズしたテスト コンフィギュレーションを使ってテストを実行します。
テスト ケースのデバッグ
C++test はこの環境での直接的なテスト ケース デバッグをサポートしていません。
オリジナル/テスト対象プロジェクトに合った適切なデバッグ/起動構成を使ってテスト用実行モジュールをロードし、目的のテスト ケースに手動でブレークポイントを設定してください。
アプリケーション検証
[Run ARM Embedded Linux Application with Memory Monitoring] および [Run DS-5 Application with Memory Monitoring (Software Model)] テスト コンフィギュレーションは、単体テスト プロセスを容易にするために提供されています。シミュレーターまたは実際のハードウェア システムでアプリケーション検証を実行するには、次の操作を行います。
- アプリケーション検証用のテスト コンフィギュレーションを複製します。
- 複製したテスト コンフィギュレーションを必要に応じて変更します。
- 詳細については 「ビルトイン テスト コンフィギュレーションのカスタマイズ 」を参照してください。
- 目的のテスト コンテキストを選択します。
- ステップ 2 でカスタマイズしたテスト コンフィギュレーションを使ってテストを実行します。