このセクションでは、Visual Studio でコード カバレッジを収集するために、C/C++test を MSBuild と統合する方法について説明します。

MSBuild との統合は、C/C++test 32-bit 版でサポートされています。

インストール

以下の操作説明では、[INSTALL_DIR] は C/C++test のインストールディレクトリを指すものとします。このディレクトリのデフォルト名は cpptest です。

Parasoft カバレッジ機能を MS Build と統合するには、以下の操作を行います。 

  1. [INSTALL_DIR] ディレクトリを指す CPPTEST_HOME 環境変数を追加します。
  2. PATH 変数に [INSTALL_DIR]/bin ディレクトリを追加して、cpptest.dll ライブラリに確実にアクセスできるようにします。
  3. [INSTALL_DIR]/integration/msbuild ディレクトリに移動します。
  4. Visual Studio ソリューションがあるディレクトリに parasoft-coverage.xml および parasoft-coverage.props ファイルをコピーします。
  5. (任意) ソリューション ディレクトリの parasoft-coverage.xml および parasoft-coverage.props ファイルをソース管理システムに追加します。
  6. Visual Studio でソリューションを開きます。
  7. [表示] > [その他のウィンドウ] > [プロパティマネージャー] に移動します。
  8. カバレッジ レポートを生成する対象として、ソリューション プロジェクトか、またはプロジェクトの特定のビルド構成を選択します。


    カバレッジの収集だけに使用する専用のビルド構成を作成すると良いでしょう。  
       
  9. 選択したプロジェクトまたは構成を右クリックして [既存のプロパティシートの追加…] を選択し、ソリューション ディレクトリにある parasoft-coverage.props ファイルを指定します。


    プロジェクトを選択した場合、parasoft-coverage.props ファイルはプロジェクト中のすべてのテスト構成に追加されます。上記の例の場合、parasoft-coverage.props ファイルは ATM プロジェクトでは 4 個のすべてのテスト構成に追加されますが、BugDetective プロジェクトでは選択した 2 個の構成にのみ追加されます。  

設定

プロジェクト、構成、または parasoft-coverage.props ファイルのプロパティ ページで、コード インストゥルメントを設定できます。

コード インストゥルメントを設定するには、以下の操作を行います。  

  1. プロジェクト、構成、または parasoft-coverage.props ファイルをダブルクリックしてプロパティページを開きます。
  2. プロジェクト レベルでプロパティ ページを変更する場合は、ドロップダウン メニューからテスト構成とプラットフォームを選択します。設定は、選択したテスト構成にのみ適用されます。
  3. [構成プロパティ] > [Parasoft DTP for C/C++] に移動し、ドロップダウン メニューから設定を選択します。「全般的な設定」を参照してください。

全般的な設定

名前説明
Engine Location [path] C/C++test の場所を指定します。デフォルトは、CPPTEST_HOME 環境変数に設定されている値です。  
Compiler Configuration [complier configuration] コンパイラの構成を指定します。デフォルトは AutoDetect です。 
Workspace Location [path] カバレッジ レポートを生成するために使用するデータがあるディレクトリを指定します。デフォルトはソリューションディレクトリの場所です。 

カバレッジ設定

名前説明
Line Coverage 

Yes

No

ビルド中にカバレッジの収集を有効にするか無効にするかを指定できます。このオプションはデフォルトでオンです。 

詳細設定

名前説明
Enable Coverage Optimization 

Yes

No

カバレッジの最適化を有効または無効にできます。有効の場合、実行時間のオーバーヘッドが削減されます。このオプションはデフォルトでオンです。 
Enable Optimized Coverage Corruption Detection 

Yes

No

最適化されたカバレッジ破損の検出を有効または無効にできます。[Coverage Optimization] オプションを Yes に設定する必要があります。

有効の場合、破損したカバレッジメモリバッファーを検出することができます。これは[Coverage Optimization] が有効な場合に使用されます。このオプションはデフォルトでオフです。

Enable Coverage Early Initialization 

Yes

No

カバレッジの早期の初期化を有効または無効にできます。有効の場合、カバレッジの収集プロセスは自動的に開始します。無効の場合はカバレッジの収集プロセスを手動で開始しなければなりません。このオプションはデフォルトでオンです。

カバレッジ収集を手動で初期化する方法の詳細については、Parasoft サポートにお問い合わせください。

Enable Coverage Auto-Finalization 

Yes

No

カバレッジの自動終了を有効または無効にできます。有効の場合、カバレッジ情報の収集プロセスは自動的に終了します。無効の場合は収集プロセスを手動で終了しなければなりません。このオプションはデフォルトでオンです。

カバレッジ収集を手動で終了する方法の詳細については、Parasoft サポートにお問い合わせください。

重要

プロジェクトまたは構成のレベルで選択した設定が、parasoft-coverage.props レベルで指定した設定と異なる場合、プロジェクト/構成レベルの設定が優先されてビルド中に使用されます。特定のレベルで選択された設定は太字で表示されます。上位レベルから継承された設定は標準フォントで表示されます。

ビルドと実行

コード インストゥルメントされたアプリケーションをビルドし、実行モジュールの実行中にカバレッジ情報を収集するには、以下の操作を行います。

  1. [構成プロパティ] > [Parasoft DTP for C/C++] > [Coverage Settings]行カバレッジが有効になっていることを確認します。
  2. Visual Studio ツールバーのドロップダウン メニューから、実行に使用する構成とプラットフォームを選択します。
  3. プロジェクトのクリーンビルドを実行します。
  4. ビルドした実行モジュールを実行します。実行モジュールは、コマンドラインから実行したり、Visual Studio デバッガーを使って実行したり、あるいはプロジェクトが必要とする他の方法で実行することができます。
    現行の作業ディレクトリに、カバレッジ情報を含む .clog ファイルが生成されます。デフォルトのファイル名は cpptest_results.clog です。

レポート

コマンドラインまたはデスクトップからカバレッジ レポートを生成できます。

コマンドラインからカバレッジ レポートを生成する

  1. ソリューション ディレクトリに移動します。

  2. Coverage ビルトインコンフィギュレーションを使って cpptestcli.exe を実行します。入力として .clog ファイルを使用します。以下はその一例です。

    cpptestcli.exe -config "builtin://Coverage" -input ATM/Debug/cpptest_results.clog 
  3. ソリューションの reports サブディレクトリに生成される XML と HTML のカバレッジ レポートを確認します。  

    重要

    設定されたワークスペースの場所がデフォルトのソリューション ディレクトリと異なる場合、-workspace スイッチを使って、ワークスペースの場所として指定されたディレクトリへのパスを指定します。

デスクトップでカバレッジ レポートを生成する

  1. Visual Studioで、 [Parasoft] > [オプション] > [Engines] に移動します。
  2. [C/C++] が有効になっていることを確認します。
  3. [Arguments] フィールドに、実行を再設定するための新しいパラメーターを入力します。
    - ${configuration}: [Parasoft] > [コンフィギュレーション] 設定で指定したテス ト コンフィギュレーションを使用します。アクティブなテストコンフィギュレーションが Coverage に設定されていることを確認します。「アクティブなテスト コンフィギュレーションの設定」を参照。
    -  -input <path/to/file.clog>: カバレッジ情報を含む .clog ファイルへのパスを指定します。
    - (任意) ${scope}: 現在の UI での選択を使ってスコープを設定します。ソリューション エクスプローラーで個別にプロジェクトやファイルを選択してカバレッジをレポートできます。

    重要

    カバレッジの [Workspace] の場所を必ずプラグインの [Working directory] と同じ場所にしてください。場所が異なる場合は、[Arguments] フィールドで –workspace <path/to/workspace> パラメーターを設定してください。

  4. 選択したプロジェクトに対して Coverage ビルトイン コンフィギュレーションを実行します。

  5. 実行が完了したら、ポップアップ ウィンドウで [レポートの生成] チェックボックスをオンにします。[構成…] リンクからレポート構成の設定を指定できます。
  6. Visual Studio のメインウィンドウで、生成されたレポートを参照します。

Parasoft の統合の削除

parasoft-coverage プロパティシートをアンインストールするには、以下の操作を行います。

  1. [表示] > [その他のウィンドウ] > [プロパティマネージャー] に移動します。
  2. プロジェクトと構成を確認し、削除する parasoft-coverage.props ファイルを探します。このファイルは、個々の構成から手動で削除する必要があります。
  3. 選択したファイルを右クリックし、メニューから [削除] を選択します。

  4. 選択したプロジェクト構成からのみ parasoft-coverage.props ファイルが削除されます。

  • No labels