このセクションでは、プロジェクト レベルおよびファイル レベルのオプション設定をカスタマイズする方法について説明します。

このセクションの内容

オプション設定の参照と変更

C/C++test でコードを適切にテストするには、ビルド設定を正しく指定する必要があります。テスト環境に合わせて詳細設定 (インストゥルメントのオプション) も変更できます。

オプション設定を参照し変更するには、次の操作を行います。

  1.  ソリューション エクスプローラー ツリー (「プロジェクト ツリー」と呼ばれます) でオプション設定を変更するプロジェクトまたはファイルのノードを右クリックし、ショート カット メニューの [Prasoft] > [プロパティー] をクリックします。[プロパティー] ダイアログが表示されます。

  2. 左側のペインの [Parasoft] > [C/C++test]カテゴリを展開します。
  3. オプション設定を変更するカテゴリを選択します。各カテゴリで設定できるオプションにつ いては下記で説明します。必ず確認して必要に応じて変更しなければならないのは「ビルド設定」です。オプションとして他の設定を確認します。
  4. 右側のペインのオプションを変更します。
  5. [適用] をクリックして [OK] をクリックします。

設定の一覧

ビルド設定

  • オプションのソース: オプションの設定方法を指定します。 

    • ビルド データ ファイルのオプションを使用 で説明されているとおり、cpptestscan ユーティリティを使ってビルド データ ファイルを作成済みの場合でビルド データ ファイルの再生成と更新を手動で管理したい場合、このオプションを推奨します。

    • ビルド システムのオプションを使用 「コマンドラインからプロジェクトをビルドできるが、ビルド データ ファイルを作成していない場合」または「ビルド データ ファイルの再生成と更新を C/C++test に任せたい場合」、このオプションを推奨します。
    • プロジェクトのオプションを使用 Visual Studio でもともと作成されたプロジェクトの場合、このオプションを推奨し ます。

    • プロジェクトのオプションを使用 Visual Studio でもともと作成されたプロジェクトの場合、このオプションを推奨し ます。

[オプション ソース] で選択した項目によって、表示されるオプションは異なります。

「ビルド システムのオプションを使用」と「ビルド データ ファイルのオプションを使用」

どちらのオプション ソースが適しているかは、「ビルド システムの複雑さ」と「プロジェクトの完全なリビルドに必要な時間」によって決まります。 

[ビルド システムのオプションを使用] がオンの場合:

  • C/C++test はビルド システムから自動的にオプションをスキャンします。
  • C/C++test は、ビルド オプションの再スキャンが必要なたびに、プロジェクトの完全なリビルドを実行します。

[ビルド データ ファイルのオプションを使用] がオンの場合: 

  • ビルド データ ファイルを手動で生成または更新しなければなりません (たとえば定期的なビルド プロセスの最中に)
  • インクリメンタル ビルドを実行しながらビルド データ ファイルを更新できます。

注意

ビルド データ ファイルを手動で管理する方法を選択した場合、ビルド データ ファイルを作成するためのメカニズムをビルド プロセスに統合することを強く推奨します。そうすれば、開発チームのメンバーがこのビルド データ ファイルを使用できるだけでなく、通常のビルド作業の最中にビルド データ ファイルをシームレスに生成または更新するのに役立ちます。

C++test 7.0 からの移行-- [Makefile ベースのプロジェクトを使用] オプションはどうなったのか ?

C++test 7.1 から、[Makefile ベースのプロジェクトを使用] オプションは [ビルド システムのオプションを使用] オプションに換わりました。

[Makefile ベースのプロジェクトを使用] オプションと同じ機能を実現するには、次の設定を使用してください。

  • ビルド コマンド ライン: [ make -i -B CXX=${CPPTEST_SCAN} CC=$ CPPTEST_SCAN} LD=${CPPTEST_SCAN} clean all ]
  • ビルド作業ディレクトリ: [ ${project_loc} ]
  • 従属ファイル: [ ${project_loc}/Makefile ]

複数の C/C++test プロジェクト構成の管理

複数の C/C++test プロジェクト構成を使って、さまざまな構成のテストを管理することができます。たとえば、ホスト コンパイラ、クロス コンパイラ、デバッグ モードでのテスト、リリース モードでのテストなどに対してプロジェクトを構成できます。

また、現在のアクティブなプロパティをファイルにエクスポートしたり、以前に保存したプロパティをファイルからインポートすることもできます。

  1. プロジェクト エクスプローラーでプロジェクトを右クリックし、[プロパティ] をクリックします。
  2. [Parasoft] > [C/C++test] を選択して [エクスポート] または [インポート] をクリックします。
  3. プロパティを参照して [保存] または [開く] をクリックします。

プロパティをエクスポートすると、cpptestcli -settings パラメーターで引数として使用できるファイルが作成されます。このファイルを利用して、コマンドラインからテストするときに別のプロジェクト構成に簡単に切り替えることができます。

プロジェクトのオプションを使用

次のオプションを設定します。

  1. [コンフィギュレーション] フィールドで、使用するコンフィギュレーションを選択します。
    • 利用可能なコンフィギュレーションのリストを更新するには [更新] をクリックします。
  2. [コンパイラ設定] で、C および C++ ソースのためのコンパイラの実行モジュール、リンカー、コンパイラファミリーを選択します。
  3. [オプション] で、テスト固有または C/C++test 固有のコンパイラオプションとリンカーオプションを指定します。

Visual C++ プロジェクト ファイル オプションを変更した場合、C/C++test は自動的にオプションを再スキャンしてプロジェクトを適切に変更します。 

ビルド データ ファイルのオプションを使用

次のオプションを設定します。

  1. ビルド データ ファイル 作成したビルド データ ファイルの場所を入力します (ビルド データ ファイルの作成については「cpptestscan または cpptesttrace を使ってビルド データ ファイルを作成する」を参照)。
    • 絶対パスを使用すると、互換性のないプロジェクトになることがあります。次の C/C++test 変数を使ってパスを指定することを推奨します。
      • ${resource_loc} は、特定のプロジェクト リソースへの絶対パスです。たとえば、${resource_loc:/MyProject/linked_src_dir/source.cpp}C:\src\source.cpp に解決されます。
  2. 毎回 C/C++test がオプションをスキャンするときに、前回のオプションを消去したい場合、[前回収集されたオプションを保持 (インクリメンタル ビルド)] チェックボックスをオフにします。オンにした場合は、各ビルドがインクリメンタル ビルドとして処理されます。
    • インクリメンタル ビルドがある場合、ビルド データ ファイルからのオプションのスキャンが終了した後にビルド データ ファイルを削除するには、[処理終了後にビルド データ ファイルを削除] チェックボックスをオンにします。このオプションは、ビルドが実行されるたびにビルド データ ファイルが際限なく拡大するのを防止します。
  3. [コンパイラ設定] で、C および C++ ソースのためのコンパイラの実行モジュール、リンカー、コンパイラファミリーを選択します。使用しているコンパイラがリスト中にない場合、カスタム コンパイラ定義を追加します (詳細については「カスタム コンパイラを使用するテストの設定 」を参照)。
  4. [オプション] で、Makefile でまだ指定していない、テスト固有または C/C++test 固有のコンパイラオプションとリンカーオプションを指定します。詳細については「コンパイラとリンカーのオプション設定」を参照してください。

指定のビルド データ ファイル中でオプションが変更されると、C/C++test は自動的にオプションを再スキャンしてプロジェクトを適切に変更します。たとえば外部コンフィギュレーション ファイルが変わったなどの理由でオプションを強制的にすぐに更新したい場合は、[キャッシュをリセット] ボタンをクリックします。

ビルド システムのオプションを使用

次のオプションを設定します。

  1. [ビルド コマンドライン] フィールドでオプションを確認します。C/C++test は、このオプションを利用して、ビルドの実行 (たとえば makefile による make の実行) およびプロセ スからのプロジェクト ビルド オプションの収集を行います。
    • C/C++test は、[ビルド コマンドライン] の指定に従って、適切な値を再割り当てしてコンパイラを置き換えます。
    • C/C++test オプション スキャナーは ${CPPTEST_SCAN} 変数で表されます。
  2. C/C++test のデフォルトとは異なるコンパイラ/リンカー変数を使用している場合、必要に応じてビルド コマンドラインを変更します。
    • C/C++test は、処理されるすべてのファイルのオプションを、オプション スキャナーを使ってスキャンします。すべてのソース ファイルについてコンパイルを強制的に実行するように適切なコマンドラインを指定する必要があります。そうしないと、 一部のファイルがテストされません。
    • 次は GNU のビルド コマンドラインの例です。
      make -i -B objects CXX=${CPPTEST_SCAN} CC=${CPPTEST_SCAN}
      このコマンドラインは、 -B フラグ (すべてのターゲットを無条件に make するフラ グ) および -i (エラーを無視するフラグ) を使って make ターゲット objects を make します。make 変数 CXXおよび CC${CPPTEST_SCAN} で代替されます。このコマンドラインを使用すると、objects ターゲットをビルドするために通常コ ンパイルされるすべてのソース ファイルからオプションを抽出できます。

    • コマンドライン シェルが bash などの特別な方法で $ 記号を処理する場合、バック スラッシュ (\) を使って $ 記号を必ずエスケープしてください。たとえば: CXX=\${CPPTEST_SCAN}
    • C/C++test は、適切な値を再割り当てしてコンパイラとリンカーを置き換えることが できる限り、任意のビルド プロセス (nmake、ant、または任意のビルド スクリ プト) をサポートします。適切なオプションについてはビルド エンジニアに相談してください。

重要な注意 -B スイッチについて

ビルド コマンドラインは、 -B スイッチ オプション (無条件にすべてのターゲットを make するオプション) を含むように設定済みです。このオプションをサポートするのは GNU Make 3.80+ だけです。 

以前の make を使用している場合、プロジェクトを作成する前にビルドをクリーンしてください。-k スイッチを保持してください。

-B スイッチ オプションをサポートしない make を使用している場合、さらにコマンドラインを 変更する必要があります。プロジェクト プロパティで使用されるデフォルトのビルド コマンドラ インにはターゲットがありません。解析対象コードをビルドするために使用するターゲットの指 定を推奨します。 例:

make -i CXX=\${CPPTEST_SCAN} ... all (all はターゲット)

また、通常のビルド ターゲットの前に clean ステップを追加します。 例:

make -i CXX={CPPTEST_SCAN} ... clean all

このコマンドは、まず clean ターゲットを make し、それから all ターゲットを make します。C/C++test からの make 実行は実際にオブジェクト ファイルをビルドすることはありませんが、 clean ステップは実際にオブジェクト ファイルを消去します。


       3.[ビルド作業ディレクトリ] フィールドで、ビルド プロセスを実行するディレクトリを指定します。

    • 絶対パスを使用すると、互換性のないプロジェクトになることがあります。次の C/C++test 変数を使ってパスを指定することを推奨します。
      • ${project_loc} は Visual Studio 2008プロジェクトの場所

      • ${resource_loc} は、特定のプロジェクト リソースへの絶対パスです。たとえば、${resource_loc:/MyProject/linked_src_dir/source.cpp}C:\src\source.cpp に解決されます。

4.[従属ファイル] フィールドで、変更をチェックする Makefile を指定します。指定したファイルが変更された場合、オプションは自動的に更新されます。

        • 絶対パスを使用すると、互換性のないプロジェクトになることがあります。次の C/C++test 変数を使ってパスを指定することを推奨します。

          • ${project_loc} は Visual Studio 2008プロジェクトの場所 

          • ${resource_loc} は、特定のプロジェクト リソースへの絶対パスです。たとえば、${resource_loc:/MyProject/linked_src_dir/source.cpp}C:\src\source.cpp に解決されます。

5.[コンパイラ設定] で、C および C++ ソースのためのコンパイラの実行モジュール、リンカー、コンパイラファミリーを選択します。使用しているコンパイラがリスト中にない場合、カスタム コンパイラ定義を追加します (詳細については「カスタム コンパイラを使用するテストの設定 」を参照)。

6.[オプション] で、Makefile でまだ指定していない、テスト固有または C/C++test 固有のコンパイラオプションとリンカーオプションを指定します。詳細については「コンパイラとリンカーのオプション設定」を参照してください。

[従属ファイル] フィールドで指定したファイルが変更されると、C/C++test は自動的にオプションを再スキャンしてプロジェクトを適切に変更します。 

実行の設定 (ファイル レベルのみ)

テスト ケースの実行中に、選択したソース ファイルをインストゥルメントするかどうかを指定します。

複数のファイルにこの設定を適用するには、プロジェクトの中からファイルを選択して右クリックし、[Parasoft] > [C/C++test] > [実行の設定] を選択します。選択したすべてのファイルに現在の設定が適用される点に注意してください。

その他の設定

C/C++test 一時ファイル 

一時的なデータ ファイルを C/C++test が保持する場所を指定します。一時的なデータ/ファイルと は、インストゥルメントされたソース、コンパイルされたオブジェクト、リンクされたテスト用実行モジュール、自動生成ヘッダー ファイルなどです。  この設定は {cpptest:testware_loc} を制御します。

C/C++test はこれらのファイルを必要に応じて自動的に再生成できるため、これらのファイルをチーム メンバー間で共有する必要はありません。したがって、これらのファイルをプロジェクトと共に保存したりソース管理システムに追加したりするべきではありません。 

[消去] ボタンをクリックすると一時データを削除できます。ただし、テスト実行とテスト実行の間に一時データを削除しないことを推奨します。一時データを保持しておくと、パフォーマンスを大幅に向上させることができます。

なお、最適なパフォーマンスを得るには、ローカル ハード ドライブを使用してください。

詳細オプション

詳細オプションでは、さまざまな低水準オプションとデバッグ オプションを指定できます。利用可能なオプションについては「インストゥルメントの詳細オプション」を参照してください。

ソース ファイル エンコーディング

ソース ファイルをプロセスするときにマルチバイト エンコーディングを使用するかどうかを指定します。デフォルトは [自動 (オン)] であり、現行システムのエンコーディングに基づいて自動的にマルチバイト文字のサポートがアクティブになります。マルチバイト文字のサポートを手動で設定するには、[オン] または [オフ] を選択します。

なお、マルチバイト文字のサポートを有効にしてコードを解析すると、 パフォーマンスに影響する場合があるので注意してください。

スコープ設定

テスト対象から除外するプロジェクト ファイルを指定できます。詳細については「特定のリソースのテスト」を参照してください。

  • No labels