このセクションでは、 「コマンドライン インターフェイス (cli)」で説明されている C/C++test コマンドライン インターフェイス (cpptestcli
) からテストを実行する方法について説明します。
このセクションで説明されている Team Server 機能は非推奨になりました。 |
このセクションの内容
コマンドライン モードを使用するには、コマンドライン インターフェイスのライセンスが必要です (C/C++test Automation Edition に付属)。
C/C++test で利用できるコマンド ライン インターフェイスのライセンスは 2 つあります。
|
コマンドラインからテストを実行するには、C/C++test のインストール ディレクトリをパスに設定する必要があります。 パスに設定しない場合は、c:\parasoft\c++test\cpptestcli.exe
のように絶対パスで cpptest を実行する必要があります。C/C++test でコードをテストするには、Eclipse C/C++ プロジェクトにコードを追加する必要があります。新規プロジェクトの作成方法については「プロジェクトの作成」を参照して ください。
cpptestcli
から各開発者の作業に関連したエラー/ 結果だけを開発者に送信するには、次のいずれかの条件を満たす必要があります。
「ソース管理システムのデータに基づいてコード作成者を算定するように C/C++test を設定している」かつ「ソース管理システムを使用している」かつ「ソース管理システムでの各開発者のユーザー名とメール ドメインが開発者の電子 メール アドレスに一致している」 ( メール ドメインはオプション ファイルおよび「-settings %SETTINGS_FILE%
」で解説の -settings
オプションを使って指定)
「ローカル ユーザーに基づいてコード作成者を算定するように C/C++test を設定している」かつ 「ユーザー名およびメール ドメインが開発者の電子メール アドレスに一致している」 (メール ドメインはオプション ファイルおよび「-settings %SETTINGS_FILE%
」で解説の -settings
オプションを使って指定 )」
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 オプションを変更する場合などにこの方法が役立ちます。
C/C++test の環境設定を見るには、[Parasoft] メニューの [設定] をクリックします。次の設定から開始します。
localhost
」と入力します。Team Server のデフォルト ポート (18888) をインストール時に変更したのでない限り、[ ポート番号] は変更しないでください。[接続のテスト] ボタンをクリックして接続を検証します。レポート: 次のオプションはデフォルトで有効であり、このオプションから開始するのが適しています。
詳細な開発者レポート (タスクの詳細を含む)
作成者ごとのタスクの概要(概要の表)
コマンドライン モードでフォーマットされたレポートを生成する
抑制の詳細 (静的解析のみに適用される)
E-mail: レポートを E-mail で送信するための設定です。C/C++test テスト マシンからアクセスできるメール サーバー上にある、既存の E-mail アカウントを指定する必要があります。
レポート > E-mail 通知:
必要に応じて [レポートを E-mail で送信する] を有効にします。メールの配信には上記の [E-mail] の設定が使用されます。
マネージャー レポートには、C/C++test が生成したすべてのテスト結果が含まれます。開発者レポートには、個々の開発者のテスト結果だけが含まれます。適切なオプションを有効にし、E-mail アドレスを指定します。
「テスト コンフィギュレーションの設定」の説明に従ってユーザー定義テスト コンフィギュレーションを作成します。
「設定ファイル (オプション ファイル)」の説明にあるように設定ファイルを作成します。
たとえば、コマンドは次のようになります。
cpptestcli -data "c:\MyWorkspace" -resource "ProjectToTest" -config builtin://ShouldHaveRules -publish -settings acme_policy.settings
コマンドラインからテストを実行するための全般的な手順は次のとおりです。
cpptestcli
ユーティリティを使用し、コマンドライン モードでテストを実行します。利用できるすべてのオプションの一覧については「コマンドライン オプション」を参照してください。主要なオプションは次のとおりです。-data: Eclipse ワークスペースの場所。
C/C++test は、テスト対象のソース ファイルがヘッダーをインクルードしていない限り、ヘッダーを直接テストしません。詳細については「ヘッダー ファイルを解析するには ? どのファイルが解析されるのか ?」 を参照してください。 |
C/C++test は、インスタンス化された関数テンプレートとインスタンス化されたクラス テンプレートのメンバーに対して静的解析と単体テストを実行できます。詳細は「C++ テンプレート関数のサポート」を参照してください。 |
|
cpptestcli
の一般的な書式は次のとおりです。
cpptestcli [OPTIONS]
通常、cpptestcli の呼び出しには次の書式を使用します。
cpptestcli -data "c:\MyWorkspace" -resource "ProjectToTest" -config builtin://ShouldHaveRules -publish
一部のファイルを解析/ テストから除外する場合 (たとえば自動生成ファイルを静的解析の対象から外す場合など)、解析/ テストの対象から外すリソースを指定できます。詳細については「テストから除外するリソースの指定」を参照してください。この設定を GUI で行うと、GUI からでもコマンドラインからでも、このプロジェクトのすべてのテストに対して設定が適用されます。 |
テスト対象のプロジェクトがデフォルトのワークスペース以外の場所にある場合、 -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
のオプションは次のとおりです。
-config
%CONFIG_URL% -
実行する テスト コンフィギュレーションを %CONFIG_URL%
で指定します。
プロジェクトをインストールするときを除き、このパラメーターは必須です。%CONFIG_URL%
は、 URL 、ビルトイン テストコンフィギュレーションの名前、またはローカル ファイルへのパスとして解釈されます。例:-config "mylocalconfig.properties"
-config "http://intranet.acme.com/cpptest/team_config.properties"
-config "builtin://Demo Configuration"
-config "Demo Configuration"
-config "user://My First Configuration"
-config "team://Team Configuration"
-config "team://teamconfig.properties"
-help
- ヘルプ情報を表示します。テストは実行しません。-settings
%SETTINGS_FILE% -
オプション ファイル %SETTINGS_FILE%
からグローバル設定を読み込みます。グローバル設定には、Parasoft DTP、電子メール、電子 などの設定があります。複数の設定ファイルを適用できます。先に指定されたファイルの設定は、後に指定されたファイルの設定で上書きされます。
このオプションを使用すると、C/C++test を起動する実行モジュール (cpptest.exe または eclipse.exe) によってコマンド ラインから GUI に設定をインポートできます。この方法を利用すると、プロパティ ファイルのすべての設定でワークスペースの現在の設定が置き換えられます。例:
cpptest.exe -settings local.settings
|
オプション ファイルの作成の詳細については「設定ファイル (オプション ファイル)」を参照してください。

-property <key>=<value> -
コマンド ラインで直接 1 つの設定を指定できます。次のフォーマットを使用します。key=value
このオプションを複数回使用して、1 つのコマンド ラインで複数の設定を指定できます。同じキーのエントリが複数ある場合、先に指定されたエントリは上書きされます。例:
-property session.tag=sa_linux -property report.dtp.publish=true -property techsupport.auto_creation=true
-settings
オプションを使用して指定したエントリは、常に -property
オプション設定に上書きされます (コマンド ラインでオプションが指定された順番にかかわらず)。
このオプションを使用すると、C/C++test を開始する実行ファイル (cpptest.exe または eclipse.exe) によってコマンド ラインから GUI に設定をインポートできます。この方法を利用すると、指定したすべての設定でワークスペースの現在の設定が置き換えられます。例:
cpptestcli.exe -property report.test_params=true
|
-nobuild
- テスト前にプロジェクトをビルドしないようにします。テストの実行前にすでにプロジェクトをビルドしている場合、このオプションを使用します。-fail
- 違反またはセットアップの問題がレポートされた場合、ゼロ以外の終了コードを返してビルドを失敗させます (プロセスが失敗したときに返される終了コードについては「コマンド ラインの終了コード」を参照)。-publish
- レポートを DTP にパブリッシュします。DTP の場所は、GUI またはオプション ファイルで指定できます(「DTPとの接続」を参照)。-report
%REPORT_FILE% -
%REPORT_FILE%
で指定した XML レポートと HTML レポートを生成します。拡張子が異なる、同じ名前のレポートが、同じディレクトリに生成されます(report.format オプションを指定した場合、PDF 形式またはカスタ ム形式のレポートを生成できます)。filename.html
および XML レポートfilename.xml
を生成します。-report filename.xml
-report filename.htm
-report filename.html
ユーザーが指定したパスが拡張子 .html、.htm、.xml で終了している場合、このパスは、生成する HTML レポート ファイルへのパスとして扱われます。そうでない場合、パスはレポートを生成するディレクトリとして扱われます。
ファイル名を明示的に指定していて、指定ディレクトリに同じ名前のファイルがすでに存在する場合、既存のファイルは上書きされます。ファイル名を明示的に指定していない場合、既存のファイルは上書きされません。新しいファイル名は repXXXX.html となります。 XXXX はランダムな数字です。-report
を指定しない場合、レポート ファイルはデフォルトの名前 "report.xml/html" で現行ディレクトリに作成されます。
-dtp.autoconfig
%PROJECT_NAME@SERVER
_NAME:port% -
DTP サーバーに格納された設定を取得します (保守を容易にするために推奨します。特にローカルに格納したローカル設定ファイルがまだない場合に推奨します)。
例:-dtp.autoconfig
[email protected]:8080
-encodepass <plainpassword> -
暗号化したパスワードを生成します。「Encrypted password: <encpass>」というメッセージを表示し、cli アプリケーションを終了します。
夜間プロセスが 1) Team Server にログインし、2) 電子メールを送信する場合、このオプションを使って必須のパスワードを暗号化することができます。
-showdetails
- 詳細なテスト進行状況の情報を表示します。
-appconsole stdout|% OUTPUT_FILE%
- C/C++test のコンソール出力を標準出力または %OUTPUT_FILE%
ファイルにリダイレクトします。-appconsole stdout
(標準出力にリダイレクトされるコンソール)-appconsole console.out
(console.out file ファイルにリダイレクトされるコンソール)-list-compilers
- 有効なコンパイラの種類の値を出力します。
-list-configs - 有効なテスト コンフィギュレーションの値を出力します。
-bdf
- 入力スコープを収集するための既存のビルド データ ファイル (.bdf) または別のプロジェクト定義ファイルへのパスを指定します。ビルド データ ファイルの作成については「cpptestscan または cpptesttrace を使ってビルド データ ファイルを作成する」を参照してください。このオプションは、静的解析を実行する場合、CMake ビルド システムによって生成されるJ SON フォーマットのファイルもサポートします。単体テスト実行での -bdf
オプションを使用した JSON ファイルの指定は、現在サポートされていません。 -include %PATTERN%,
-exclude %PATTERN% - テストに含める/除外するファイルを指定します。
このオプションの後に、ファイル名またはパスを指定する必要があります。
ファイル名の指定にはワイルドカード * および? を使用できます。1 つ以上のパス名のセグメントを指定するには ** を使用します。シンタックスのパターンは Ant ファイル セットの指定に似ています。
例:-include **/Bank.cpp
(Bank.cpp ファイルをテストする)
-include **/ATM/Bank/*.cpp
(ATM/Bank フォルダー中のすべての .cpp ファイルをテストする)
-include c:/ATM/Bank/Bank.cpp
(c:/ATM/Bank/Bank.cpp ファイルだけをテストする)
-exclude **/internal/**
(パス中に "internal" というフォルダーがあるクラスをテストから除外する)
-exclude **/*Test.cpp
(Test.cpp で名前が終わるファイルをテストから除外する)
さらに、拡張子が.lst のファイルを指定した場合、このファイルはパターン リスト ファイルとして扱われ、ファイル中の各行が1 つのパターンとして扱われます。
たとえば、次のようにオプションを設定し、-include c:/include.lstinclude.lst ファイルの内容が次のとおりであるものとします。
**/Bank.cpp
**/ATM/Bank/*.cpp
c:/ATM/Bank/Bank.cpp
この設定は、次のオプション設定と同じことになります。-include **/Bank.cpp -include **/ATM/Bank/*.cpp
-include c:/ATM/Bank/Bank.cpp"
-path-to-eclipse
- C/C++test を Eclipse プラグインとしてインストールした場合に cppptestcli とともに使用する Eclipse を使用します。オプション | 目的 | 備考 |
---|---|---|
| 指定された Eclipse プロジェクトを Eclipse ワークスペースにインポートします。 |
%ECLIPSE_PROJECT% がディレクトリの場合、そのディレクトリとサブディレクトリにあるすべてのEclipse プロジェクトがインポートされます。 例:
-import を使用するとき、 |
| ビルド定義ファイル (.bdf ファイル) から C/C++test プロジェクトを作成します。 BDF を作成するには、コンパイラ/ リンカーの接頭辞として このオプションは、静的解析を実行する場合、CMake ビルド システムによって生成される JSON フォーマットのファイルもサポートします。単体テスト実行での -bdf オプションを使用した JSON ファイルの指定は、現在サポートされていません。 | 例: - 詳細については「既存のビルド システムを使った C++test プロジェクト」を参照してください。オプション ファイルでオプションを指定することができます。詳細については「設定ファイル (オプション ファイル)」を参照してください。
|
-ccs %CCS_PROJECT% |
pjt プロジェクト ファイル - 指定のプロジェクトがインポートされます。 | 例: -ccs "MyProject.pjt" -ccs "c:\DevelRootDir"
|
-ewp %EWP_PROJECT% | IAR Embedded Workbench プロジェクトをインポートします。 .eww ワークスペース ファイルの場合 - ワークスペースのすべてのファイルがインポートされます。 ディレクトリの場合 - そのディレクトリとサブディレクトリにあるすべての .ewp プロジェクトがインポートされます。 | 例: -ewp "MyProject.ewp" -ewp "MyWorkspace.eww" -ewp "c:\DevelRootDir"
|
| Green Hills .gpj プロジェクトから C/C++test プロジェクトを作成します。 | Green Hills .gpj プロジェクトのインポート オプションをオプションファイルで指定することができます。詳細については「設定ファイル (オプション ファイル)」を参照してください。 |
-hew %HEW_PROJECT% | High-performance Embedded Workshop プロジェクトをインポートします。 |
例: -hew "MyProject.hwp" -hew "MyWorkspace.hws" -hew "c:\DevelRootDir" |
| Keil uVision3 プロジェクトをインポートします。 .uv2 ファイルの場合 - 選択されたプロジェクトがインポートされます。 ディレクトリの場合 - そのディレクトリとサブディレクトリにあるすべての .uv2 プロジェクトがインポートされます。 |
例: -uv "MyProject.uv2" -uv "c:\DevelRootDir" |
-wpj %WPJ_PROJECT% | Wind River Tornado プロジェクトをインポートします。 .wpj ファイルの場合 - 選択されたプロジェクトがインポートされます。 .wsp ワークスペース ファイルの場合 - ワークスペースのすべてのプロジェクトがインポートされます。 ディレクトリの場合 - そのディレクトリとサブディレクトリにあるすべての .wpj プロジェクトがインポートされます。 | -import を使用するとき、 例: -wpj "MyProject.wpj" -wpj "MyWorkspace.wsp" -wpj "c:\DevelRootDir" |
オプション | 目的 | 説明 |
---|---|---|
| 使用する Eclipse ワークスペースの場所を指定します。 | デフォルトは現行ユーザーの関連ディレクトリです。 |
| テストするワークスペース リソースへのパスを | 複数のリソースを指定する場合は、このオプションを複数回使用します。 英数字以外の文字またはスペースがリソース パスに含まれる場合、値を引用符で囲みます。
チーム プロジェクト設定ファイル (PSF ファイル) は、SVNおよび他のソース管理システムについてサポートされます(インストールされた Eclipse プラグインの機能によります)。 たとえ絶対パスであっても、パスは -data パラメーターで指定されたワークスペースに相対です。 例:
|
|
設定ファイルをコマンドラインで渡して、レポート、タスクの割り当て、ライセンスといったオプションを制御することができます。ローカル設定ファイルを使用すると、以下のことが可能です。
プロジェクトごとにオプション ファイルを作成し、-settings
オプションを使ってどのファイルを使用するかを指定できます。
設定ファイルの詳細および利用可能なオプションの一覧は、「設定ファイルでの指定」を参照してください。