このセクションの内容:

準備

プロジェクトの設定を開始する前に、次の操作が必要です。

  1. C++test ランタイム ライブラリをビルドします。  
  2. リンカー オプションにライブラリを追加します。それには、プロジェクトのプロパティ設定画面を表示し、[Parasoft] > [C++test] > [ビルド設定] を選択します。そして、[リンカー オプション] で C++test ランタイム ライブラリへのパスを追加します。  
  3. マルチスレッド アプリケーションのテストをサポートするようランタイム ライブラリをビルドするには、"-DCPPTEST_THREADS=1" を指定する必要があります。  

テスト コンフィギュレーションを使ってテスト バイナリをビルドする

テスト プロジェクトは Wind River Workbench 管理プロジェクトではないため、 標準の [ビルド] メニューを使ったビルドのサポートはありません。テスト バイナリをビルドするには、C++test テスト コンフィギュレーションを使用します。次のビルトイン テスト コンフィギュレーションを使って、VxWorks テスト プロジェクトのテスト バイナリをビルドすることができます。

場合によっては、テスト コンフィギュレーションによって生成された最初のテスト バイナリの種類を変更しなければならないことがあります。そのため、このプロセスがどのように管理され、何が生成されるのかを理解することが有用です。

どちらの手法を選択するかに関わらず、リンク プロセスのカスタマイズが必要な場合があります。主に次の 2 つの変更が必要な場合があります。

デフォルトのリンク プロセスは、テスト実行フロー定義の LinkStep によって管理されます。これは、[プロジェクト プロパティ] > [ビルド設定] で指定されたリンカーの実行可能ファイルと、テスト プロジェクトの作成中またはリフレッシュ中にスキャンされたリンカー フラグを使用します。ここで重要なのは、テスト プロジェクトの作成中またはリフレッシュ中に出現した最後のリンカー コマンドラインを、C++test がフラグの有効なソースとして分類することです。 そのため、リンク フェーズを持つ複数のビルド ターゲットからテスト プロジェクトが作成された場合、最後のものだけが使用されます。

そのような場合、[プロジェクト プロパティ] > [ビルド設定] でユーザーがリンカー フラグを追加しなければならないことがあります。また、そのような変更では不十分な場合、または最終テスト バイナリを作成するために複数のプロセスを実行する必要がある場合、テスト実行フローの CustomStep 機能に基づいて、ユーザー独自のリンク ステップを用意しなければならないことがあります。通常これは次の例のような記述になります。

<CustomStep
       id="cust_linking"
       label="Custom linking ..."
       commandLine="valid command line here" 
       workingDir="${cpptest:testware_loc}"
       stdIn=""
       stdOut=""
       result="${cpptest:testware_loc}/resultant_binary" dependencyFiles="${cpptest:test_objects_quoted}"
/ >

ユーザー独自のリンク ステップを実装する際、次の変数が役立ちます。

テスト実行フローの定義のシンタックスの詳細については、「テスト実行フローのカスタマイズ」を参照してください。

テスト バイナリを実行する

バイナリの実行プロセスは、バイナリの種類によって異なります。


バイナリの種類

必要な操作

.out ファイル

このバイナリは実行中の VxWorks ターゲットで直接起動できます (たとえば [Load and Run VxWorks Test Object] テスト コンフィギュレーションを使用します)。 または、このバイナリを VIP プロジェクト ビルドに含めて、イメージのブートの後に起動できます。

.a アーカイブ ファイル

通常、このバイナリは VIP プロジェクトに追加され、イメージのブートの後に起動されます。

.vxe 実行可能ファイル

このバイナリは、実行中の VxWorks ターゲットで起動することも、VIP プロジェクトに追加してイメージのブート後に起動することもできます。

テスト バイナリを実行するためのテスト コンフィギュレーションが [Embedded Systems] > [Wind River] > [Workbench] カテゴリの下に 2 つ用意されています。[Load and Run VxWorks Test Object (DKM)] と [Load and Run VxWorks Test Executable (RTP)] です。VxSim の実行には、どちらのテスト コンフィギュレーションもそのままで使用できます。必要に応じてカスタマイズすることももちろん可能です。そのことをリマインドするために、これらのテスト コンフィギュレーションは実行中に C++test コンソールにメッセージを表示します。