このセクションでは、 「コマンドライン インターフェイス (cli)」で説明されている C/C++test コマンドライン インターフェイス (cpptestcli) からテストを実行する方法について説明します。

このセクションで説明されている Team Server 機能は非推奨になりました。

このセクションの内容

前提条件

コマンドライン モードを使用するには、コマンドライン インターフェイスのライセンスが必要です (C/C++test Automation Edition に付属)。

C/C++test で利用できるコマンド ライン インターフェイスのライセンスは 2 つあります。

  1. Extended Command Line Mode は Automation Edition に含まれており、Custom Edition でも利用できます。
  2. Desktop Command Line Mode は Custom Edition で利用できます。Desktop Command Line Mode は、Extended Command Line Mode に似た機能を提供します。 ただし、並列処理において、特定のタスク (たとえば静的解析) に対して同時に実行でき る並列スレッドは 8 個までです。

セットアップの概要

Parasoft C/C++test Professional には 2 つのユーザー モードがあります。インタラクティブにデスクトップで C++test を 使用する「GUI モード」とコマンドライン インターフェイスを介して実行する「コマンドライン」モードです。コマンドライン インターフェイスは Automation Edition の標準機能です。 

コマンドライン モードは通常、定期的/ 継続的なビルドまたは自動回帰テストのインフラストラク チャと連携して、定期的/ 継続的なコード解析とテストを実行するために使用します。C/C++test の コマンドライン インターフェイスは、指定のプロジェクト リソースに対して実行できます。コマン ドライン インターフェイスの実行の一部として、C/C++test は次の 1 つ以上のことを実行します。

実行の一部として、C/C++test は (サポートされている場合) SCM クライアントを使って SCM システムから自動的にファイルの変更情報を取得します。そしてコード解析と実行されたテストの結果に基づいて特定の個人のためのタスクを生成します。

C++test 固有の実行オプションはテスト コンフィギュレーションと環境設定によって制御されま す。

テスト コンフィギュレーションについては、C/C++test のビルトイン テスト コンフィギュレーションをベースにして作成することも、GUI モードで新規に作成することもできます。ビルトイン テスト コンフィギュレーションは、そのまま使用するのではなく、ユーザー定義テスト コンフィギュレーションのためのテンプレートとして利用することを推奨します。

環境設定は C/C++test GUI から設定できます。ほとんどの環境設定は、コマンドライン インターフェイスの呼び出しにパラメーターとして渡される構成ファイルからも設定できます。設定ファイルの詳細については「設定ファイル ( オプション ファイル)」 を参照してください。GUI で設定した C/C++test の環境設定はデフォルトで適用されます。GUI の設定は、コマン ドライン モードで使用される構成ファイルの値で個別に上書きできます。そのため、ユーザーはす べてのコマンドライン実行で使用される基本的な環境設定を保持しつつ、必要に応じて特定のテスト コンフィギュレーションの特定の実行用に設定ファイルを用意できます。たとえば、テスト実行ごと に異なる情報をレポートに含める場合や、レポート名や E-mail ヘッダーなどのレポートの E-mail オプションを変更する場合などにこの方法が役立ちます。

ステップ 1: 環境設定

C/C++test の環境設定を見るには、[Parasoft] メニューの [設定] をクリックします。次の設定から開始します。

ステップ 2: テスト コンフィギュレーションのカスタマイズ

テスト コンフィギュレーションの設定」の説明に従ってユーザー定義テスト コンフィギュレーションを作成します。

ステップ 3: 設定ファイルの作成

設定ファイル (オプション ファイル)」の説明にあるように設定ファイルを作成します。

ステップ 4: 現在実行中のビルド システムでコマンドライン インター フェイスをアクティブにする (たとえばバッチ スクリプト)

たとえば、コマンドは次のようになります。

バッチの実行ごとにレポートが送信され、トレンド レポートが生成されます。

テストの実行

コマンドラインからテストを実行するための全般的な手順は次のとおりです。

C/C++test は、テスト対象のソース ファイルがヘッダーをインクルードしていない限り、ヘッダーを直接テストしません。詳細については「ヘッダー ファイルを解析するには ? どのファイルが解析されるのか ?」 を参照してください。

C/C++test は、インスタンス化された関数テンプレートとインスタンス化されたクラス テンプレートのメンバーに対して静的解析と単体テストを実行できます。詳細は「C++ テンプレート関数のサポート」を参照してください。

  • C/C++test は、Cygwin の "/cygdrive/DISK/PATH" 書式を使って指定されたファイル パスをサポートしません。標準的な Windows のパス書式を使用してください。
  • シェル/ コンソールによって、ファイル パスのバックスラッシュを 2 つ重ねてエスケープする必要があります。例:"C:\\MyLocation\\MyFile"
  • -settings オプションを使ってオプション ファイルでファイル パスを使用する場合、ファイル パス中のすべてのバックスラッシュは 2 つ重ねてエスケープする必要があります。またはスラッシュを使用できます。例:"C:/MyLocation/MyFile"

cli の呼び出し

cpptestcli の一般的な書式は次のとおりです。

通常、cpptestcli の呼び出しには次の書式を使用します。

一部のファイルを解析/ テストから除外する場合 (たとえば自動生成ファイルを静的解析の対象から外す場合など)、解析/ テストの対象から外すリソースを指定できます。詳細については「テストから除外するリソースの指定」を参照してください。この設定を GUI で行うと、GUI からでもコマンドラインからでも、このプロジェクトのすべてのテストに対して設定が適用されます。

-data オプションによる Eclipse ワークスペースの指定

テスト対象のプロジェクトがデフォルトのワークスペース以外の場所にある場合、 -data オプションを使う必要があります。たとえば次の Windows コマンドは My Configuration テスト コンフィギュレーションを使って C++testExample プロジェクトをテストし、結果レポートを生成し、レポートを c:\reports\Report1 ディレクトリに保存します。

cpptestcli -data "c:\Documents and Settings\cynthia\ApplicationData\Parasoft\C++test\workspace" -resource "C++test Example" -config user://"My Configuration" -report c:\reports\Report1

テスト対象のプロジェクトがデフォルトにある場合、-data オプションは不要です。たとえば次のWindows コマンドは My Configuration テスト コンフィギュレーションを使用して C++test Example プロジェクトをテストし、結果レポートを生成し、レポートを c:\reports\Report1 ディレクトリに保存します。

cpptestcli -resource "C++test Example" -config user://"My Configuration" -report c:\reports\Report1

コマンドライン オプション

利用できる cpptestcli のオプションは次のとおりです。

全般的なオプション

複数の設定ファイルを適用できます。先に指定されたファイルの設定は、後に指定されたファイルの設定で上書きされます。 

このオプションを使用すると、C/C++test を起動する実行モジュール (cpptest.exe または eclipse.exe) によってコマンド ラインから GUI に設定をインポートできます。この方法を利用すると、プロパティ ファイルのすべての設定でワークスペースの現在の設定が置き換えられます。例: 

cpptest.exe -settings local.settings

dtp.autoconfig 設定は GUI に適用されないため、インポート時に無視されます。

オプション ファイルの作成の詳細については設定ファイル (オプション ファイル)を参照してください。

-settings オプションを使用して指定したエントリは、常に -property オプション設定に上書きされます (コマンド ラインでオプションが指定された順番にかかわらず)。

このオプションを使用すると、C/C++test を開始する実行ファイル (cpptest.exe または eclipse.exe) によってコマンド ラインから GUI に設定をインポートできます。この方法を利用すると、指定したすべての設定でワークスペースの現在の設定が置き換えられます。例: 

cpptestcli.exe -property report.test_params=true

dtp.autoconfig 設定は GUI に適用されないため、インポート時に無視されます。


プロジェクトのインポートと作成のオプション

オプション目的備考

-import %ECLIPSE_PROJECT%

指定された Eclipse プロジェクトを Eclipse ワークスペースにインポートします。

%ECLIPSE_PROJECT% が.project ファイルの場合、選択されたプロジェクトがインポートされます。

%ECLIPSE_PROJECT% がディレクトリの場合、そのディレクトリとサブディレクトリにあるすべてのEclipse プロジェクトがインポートされます。

例:

-import \".project\"

-import \"c:\\DevelRootDir\"

-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

-bdf <cpptestscan.bdf>

ビルド定義ファイル (.bdf ファイル) から C/C++test プロジェクトを作成します。 

BDF を作成するには、コンパイラ/ リンカーの接頭辞として cpptestscan ユーティリティを使ってプロジェクトをビルドします。

このオプションは、静的解析を実行する場合、CMake ビルド システムによって生成される JSON フォーマットのファイルもサポートします。単体テスト実行での -bdf オプションを使用した JSON ファイルの指定は、現在サポートされていません。

例:

-bdf "cpptestscan.bdf"

詳細については「既存のビルド システムを使った C++test プロジェクト」を参照してください。オプション ファイルでオプションを指定することができます。詳細については「設定ファイル (オプション ファイル)」を参照してください。

-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

-ccs %CCS_PROJECT%

%CCS_PROJECT% が次のいずれかである場合、TI Code Composer Studio プロジェクトをインポートします。

pjt プロジェクト ファイル - 指定のプロジェクトがインポートされます。
ディレクトリ - 指定のディレクトリとサブディレクトリにあるすべての .pjt プロジェクトがインポートされます。

例:

-ccs "MyProject.pjt"

-ccs "c:\DevelRootDir"

-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

-ewp %EWP_PROJECT%

IAR Embedded Workbench プロジェクトをインポートします。%EWP_PROJECT%
.ewp ファイルの場合 - 選択されたプロジェクトがインポートされます。

.eww ワークスペース ファイルの場合 - ワークスペースのすべてのファイルがインポートされます。

ディレクトリの場合 - そのディレクトリとサブディレクトリにあるすべての .ewp プロジェクトがインポートされます。

例:

-ewp "MyProject.ewp"

-ewp "MyWorkspace.eww"

-ewp "c:\DevelRootDir"

-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

-gpj <.prj_root_file>

Green Hills .gpj プロジェクトから C/C++test プロジェクトを作成します。

Green Hills .gpj プロジェクトのインポート オプションをオプションファイルで指定することができます。詳細については「設定ファイル (オプション ファイル)」を参照してください。
-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

-hew %HEW_PROJECT%

High-performance Embedded Workshop プロジェクトをインポートします。%HEW_PROJECT% として次のものを指定できます。
.hwp プロジェクト ファイル: 選択されたプロジェクトがインポートされます。
.hws ワークスペース ファイル: ワークスペースのすべてのプロジェクトがインポートされます。
ディレクトリ: 指定のディレクトリとサブディレクトリで発見された .hwp プロジェクトがインポートされます。

-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

例:

-hew "MyProject.hwp"

-hew "MyWorkspace.hws"

-hew "c:\DevelRootDir"

-uv %KEILUV_PROJECT%

Keil uVision3 プロジェクトをインポートします。%KEILUV_PROJECT%:

.uv2 ファイルの場合 - 選択されたプロジェクトがインポートされます。

ディレクトリの場合 - そのディレクトリとサブディレクトリにあるすべての .uv2 プロジェクトがインポートされます。

-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

例:

-uv "MyProject.uv2"

-uv "c:\DevelRootDir"

-wpj %WPJ_PROJECT%

Wind River Tornado プロジェクトをインポートします。%WPJ_PROJECT%:

.wpj ファイルの場合 - 選択されたプロジェクトがインポートされます。

.wsp ワークスペース ファイルの場合 - ワークスペースのすべてのプロジェクトがインポートされます。

ディレクトリの場合 - そのディレクトリとサブディレクトリにあるすべての .wpj プロジェクトがインポートされます。

-import を使用するとき、-config オプションは必要ありません。-config を指定した場合、インポートされるプロジェクトがあるワークスペースがテストされます。-config を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

例:

-wpj "MyProject.wpj"

-wpj "MyWorkspace.wsp"

-wpj "c:\DevelRootDir"

C/C++test for Eclipse ワークベンチでプロジェクトをテストするためのオプション

オプション目的説明

-data %WORKSPACE_DIR%

使用する Eclipse ワークスペースの場所を指定します。

デフォルトは現行ユーザーの関連ディレクトリです。

-resource %RESOURCE%

テストするワークスペース リソースへのパスを %RESOURCE% で指定します。

複数のリソースを指定する場合は、このオプションを複数回使用します。

英数字以外の文字またはスペースがリソース パスに含まれる場合、値を引用符で囲みます。

%RESOURCE% が .properties ファイルの場合、com.parasoft.eclipse.checker.core.resources キーに対応する値がリソースのコロン (:) 区切りリストとして解釈されます。したがって、指定できるのは 1 つの properties ファイルだけです。%RESOURCE% が .lst ファイルの場合、各行が 1 つのリソースとして扱われます。コマンドラインでリソースを指定しない場合、ワークスペース全体がテストされます。

チーム プロジェクト設定ファイル (PSF ファイル) は、SVNおよび他のソース管理システムについてサポートされます(インストールされた Eclipse プラグインの機能によります)。

たとえ絶対パスであっても、パスは -data パラメーターで指定されたワークスペースに相対です。

例:

-resource "Acme Project"

-resource "/MyProject/src/com/acme/MyClassTest.java"

-resource "/MyProject/src/com/acme"

-resource testedprojects.properties

  • 有効なコマンドライン オプションのリストを参照するには、 cpptestcli -help を実行してください。
  • cpptestcli は、指定されたグループ マネージャーとアーキテクトにレポートを自動的に送信します。このレポートには、チームとプロジェクトのすべてのエラーが記載されると共に、エラー箇所を担当した開発者名も記載されます。エラーが発見されなかった場合でも、オプション ファイルで report.mail.on.error.only=true を設定していない限り、レポートは送信されます。
  • 適切な前提条件が満たされた場合、cpptestcli は各開発者に担当部分のエラー/ 結果だけのレポートを送信します。開発者の担当部分でエラーがレポートされなかった場合、その開発者にはレポートが送信されません。

設定ファイル (オプション ファイル)

設定ファイルをコマンドラインで渡して、レポート、タスクの割り当て、ライセンスといったオプションを制御することができます。ローカル設定ファイルを使用すると、以下のことが可能です。

プロジェクトごとにオプション ファイルを作成し、-settings オプションを使ってどのファイルを使用するかを指定できます。

設定ファイルの詳細および利用可能なオプションの一覧は、「設定ファイルでの指定」を参照してください。