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

このセクションの内容

前提条件

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

ライセンス: Extended Command Line Mode と Desktop Command Line Mode

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 個までです。
  • Automation Edition のすべての機能にアクセスするには、Parasoft Team Server のインストー ルと設定も必要です。 
  • テストを開始する前に、「設定」の説明に従って C/C++test の環境設定を行うことを強く推奨します。
  • コマンドラインからテストを実行するには、C/C++test のインストール ディレクトリをパス に設定する必要があります。 パスに設定しない場合は、c:\parasoft\c++test\cpptestcli.exe のように絶対パスで cpptest を実行する必要があり ます。C/C++test でコードをテストするには、Eclipse C/C++ プロジェクトにコードを追加する必要があります。新規プロジェクトの作成方法については「プロジェクトの作成」を参照して ください。

  • 初期テストを実行する前に、プロジェクト オプションを確認して変更することを強く推奨し ます。詳細については「ローカル設定ファイル (オプション ファイル)」を参照してください。
  • cpptestcli から各開発者の作業に関連したエラー/ 結果だけを開発者に送信するには、次のいずれかの条件を満たす必要があります。

    • 「ソース管理システムのデータに基づいてコード作成者を算定するように C++test を設定している」かつ「ソース管理システムを使用している」かつ「ソース管理システムでの各開発者のユーザー名とメール ドメインが開発者の電子 メール アドレスに一致している」 ( メール ドメインはオプション ファイルおよび「-localsettings %LOCALSETTINGS_FILE%」で解説の -localsettings オプションを使って指定)

    • 「ローカル ユーザーに基づいてコード作成者を算定するように C++test を設定している」かつ 「ユーザー名およびメール ドメインが開発者の電子メール アドレスに一致している」 (メール ドメインはオプション ファイルおよび「-localsettings %LOCALSETTINGS_FILE%」で解説の -localsettings オプションを使って指定 )」

セットアップの概要

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

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

  • コードの静的解析。定義されたコーディング ポリシーのチェック、実行時のバグの可能性の解析、メトリクスの解析を含みます。
  • 単体テストの実行

  • SCM コード リポジトリの解析。最後の実行後のコードの変更を特定し、更新されたコードに対するコード レビュー セッションを開始します。
  • レポートの生成と集約レポート サーバーへの送信。または開発者とマネージャーへの送信。 レポート設定での指定に従って送信されます。

実行の一部として、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] メニューの [設定] をクリックします。次の設定から開始します。

  • ライセンス: ライセンス設定または License Sever 設定を指定します。
  • DTP: DTP サーバー設定を指定します。
  • (オプション) Team: [Team Server を有効にする] チェックボックスをオンにします。Team Server が自動検出されない場合、[サーバー情報] > [ホスト名] に Team Server の IP アドレスを入力します。C/C++test と同じマシン上で Team Server を実行 している場合は「localhost」と入力します。Team Server のデフォルト ポート (18888) をインストール時に変更したのでない限り、[ ポート番号] は変更しないでください。[接続のテスト] ボタンをクリックして接続を検証します。
  • ソース管理: この設定を行うと、影響があったコードまたはテスト成果物を最後に変更した個人に対して、ツールの結果を自動的にマップすることができます。ソース管理システムを チェックし、「ソース管理リポジトリとの接続」の説明に従って SCM に適したオプションを設定します。
  • スコープと作成者: 「タスクの割り当てとコード作成者の設定」にあるように、環境に適したオプションを有効にします。
  • レポート: 次のオプションはデフォルトで有効であり、このオプションから開始するのが適しています。

    • 詳細な開発者レポート (タスクの詳細を含む)

    • 作成者ごとのタスクの概要(概要の表)

    • コマンドライン モードでフォーマットされたレポートを生成する

    • 抑制の詳細 (静的解析のみに適用される)

  • E-mail: レポートを E-mail で送信するための設定です。C++test テスト マシンからアクセスできるメール サーバー上にある、既存の E-mail アカウントを指定する必要があります。

  • レポート > E-mail 通知:

    • 必要に応じて [レポートを E-mail で送信する] を有効にします。この設定に関係なく、レポートは今後の参照のために常に Team Server にアップロードされます (コマンドライン インターフェイス オプションによって制御されます)。メールの配信には上記の [E-mail] の設定が使用されます。

    • マネージャー レポートには、C++test が生成したすべてのテスト結果が含まれます。開発者レポートには、個々の開発者のテスト結果だけが含まれます。適切なオプションを有効にし、E-mail アドレスを指定します。

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

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

ステップ 3: オプション ファイルの作成

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

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

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

  • cpptestcli -data "c:\MyWorkspace" -resource "ProjectToTest" -config builtin://ShouldHaveRules -publishteamserver -localsettings acme_policy.settings
バッチの実行ごとにレポートが送信され、トレンド レポートが生成されます。レポートは [Parasoft] メニューの [探索] > [Team Server レポート] から取得することもできます。

テストの実行

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

  • 適切なオプションを指定して cpptestcli ユーティリティを使用し、コマンドライン モードでテストを実行します。利用できるすべてのオプションの一覧については「コマンドライン オプション」を参照してください。主要なオプションは次のとおりです。
    • -data: Eclipse ワークスペースの場所。

    • -config: テスト コンフィギュレーション。
    • -resource: テスト対象のリソース (たとえばプロジェクト、フォルダー、ファイル)。
    • -publish: DTP に結果をパブリッシュします。
    • -publishteamserver: Team Server にテスト結果をパブリッシュします。
    • -report: レポートを生成します。
    • -localsettings: Team Server/Parasoft DTP/メール レポートの詳細設定を渡します。詳細については「ローカル設定ファイル (オプション ファイル)」 を参照してください。

ヘッダーのテスト

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

テンプレート関数のテスト

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

注意 Windows でのコマンドライン テスト

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

cli の呼び出し

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

  • cpptestcli [OPTIONS]

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

  • cpptestcli -data "c:\MyWorkspace" -resource "ProjectToTest" -config builtin://ShouldHaveRules -publish

特定のプロジェクト リソースを解析/ テストの対象から除外するには

一部のファイルを解析/ テストから除外する場合 (たとえば自動生成ファイルを静的解析の対象から外す場合など)、解析/ テストの対象から外すリソースを指定できます。詳細については「テストから除外するリソースの指定」を参照してください。この設定を 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 のオプションは次のとおりです。

全般的なオプション

  • -config %CONFIG_URL% - 実行する テスト コンフィギュレーションを %CONFIG_URL% で指定します。
    プロジェクトをインストールするときを除き、このパラメーターは必須です。%CONFIG_URL% は、 URL 、ビルトイン テストコンフィギュレーションの名前、またはローカル ファイルへのパスとして解釈されます。例:
    • ファイル名:
      -config "mylocalconfig.properties"
    • URL:
      -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ヘルプ情報を表示します。テストは実行しません。
  • -localsettings %LOCALSETTINGS_FILE% - オプション ファイル %LOCALSETTINGS_FILE% からグローバル設定を読み込みます。グローバル設定には、Parasoft DTP、電子メール、Team Server などの設定があります。
    オプション ファイルはプロパティ ファイルです。オプション ファイルは、レポート (レポートの送信先、レポートのラベル、メール サーバー、メール ドメインなど)、Team Server、 Parasoft DTP Server、電子メールの設定などを制御できます。オプション ファイルの作成の詳細についてはローカル設定ファイル (オプション ファイル)を参照してください。
  • -nobuildテスト前にプロジェクトをビルドしないようにします。テストの実行前にすでにプロジェクトをビルドしている場合、このオプションを使用します。
  • -fail違反がレポートされた場合、ゼロではない終了コードを返すことによってビルドを失敗させます。
  • -publish - レポートを DTP にパブリッシュします。DTP の場所は、GUI またはオプション ファイルで指定できます(DTPとの接続を参照)。
  • -publishteamserverレポートを Team Server にパブリッシュします。Team Server の場所は、GUI またはオプション ファイルで指定できます (-localsettings %LOCALSETTINGS_FILE% を参照)。
  • -report %REPORT_FILE% - %REPORT_FILE% で指定した XML レポートと HTML レポートを生成します。拡張子が異なる、同じ名前のレポートが、同じディレクトリに生成されます(report.format オプションを指定した場合、PDF 形式またはカスタ ム形式のレポートを生成できます)。
    次のすべてのコマンドは、 HTML レポート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詳細なテスト進行状況の情報を表示します。
  • -buildscript %SCRIPT_FILE% - テストの前に、指定のビルド スクリプトを実行します。Using the cli with an Eclipse-Based Builder」を参照してください。

  • -appconsole stdout|% OUTPUT_FILE% C++test のコンソール出力を標準出力または %OUTPUT_FILE% ファイルにリダイレクトします。
    例:
    -appconsole stdout (標準出力にリダイレクトされるコンソール)
    -appconsole console.out (console.out file ファイルにリダイレクトされるコンソール)
  • -list-compilers有効なコンパイラの種類の値を出力します。  

  • -list-configs - 有効なテスト コンフィギュレーションの値を出力します。 

  • -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"


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

オプション目的備考

-import %ECLIPSE_PROJECT%

Imports the specified Eclipse project(s) into the Eclipse workspace.

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

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

例:

-import \".project\"

-import \"c:\\DevelRootDir\"

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

-bdf <cpptestscan.bdf>

ビルド データ ファイル (.bdf ファイル) からC++test プロジェクトを作成します。ビルド データ ファイルを作成するには、コンパイラ/ リンカーの接頭辞として cpptestscan ユーティリティを使ってプロジェクトをビルドします。

例:

-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 を指定しない場合、プロジェクトはインポートされますが、テストは実行されません。

-dsp <.dsp file | .dsw file | root location>

Microsoft Visual Studio プロジェクトから C++test プロジェクトを作成します。6.0 プロジェクト ファイル (.dsp)、Microsoft Visual Studio 6.0 ワークスペース ファイル (.dsw)、ルート ディレクトリのいずれかを指定します。

Visual Studio 6.0 プロジェクトのインポート設定は、オプションファイルでも指定できます。詳細については「ローカル設定ファイル (オプション ファイル)」を参照してください。

-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++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"

-vcp %VCP_PROJECT%

Microsoft eMbedded Visual C++ 4.0 プロジェクトをインポートします。%VCP_PROJECT%:

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

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

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

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

例:

-vcp "MyProject.vcp"

-vcp "MyWorkspace.vcw"

-vcp "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++test/Eclipse ワークベンチでプロジェクトをテストするためのオプション

オプション目的説明

-data %WORKSPACE_DIR%

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

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

-resource %RESOURCE%

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

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

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

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

チーム プロジェクト設定ファイル (PSF ファイル) は、CVS、SVN、Star Team、および他のソース管理システムについてサポートされます(インストールされた 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 は各開発者に担当部分のエラー/ 結果だけのレポートを送信します。開発者の担当部分でエラーがレポートされなかった場合、その開発者にはレポートが送信されません。

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

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

  • プロジェクトごとに異なる設定を使用することができます。
  • 必要に応じてチーム全体の設定を拡張したり上書きすることができます (例えばローカルパスに関連する設定など)。
  • GUI を開かずに設定を変更できます。

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

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


Eclipse ベースのビルダーでの cli の使用

-buildscript %SCRIPT_FILE% オプションを指定すると、テストの前に、指定の Eclipse ビルド スクリプトを実行します。

その場合、Eclipse の UI が起動されることがあります。動作は Eclipse コンポーネントの機能およびサードパーティ製 Eclipse ソース管理システム プラグインによって異なります。UI が開かれておらず、ソース管理システムが完全に設定されていない場合、サードパーティ製の Eclipse ソース管理システム プラグインはヘッドレス モードで実行できない場合があります。エラーを出さずに実行が失敗したり、利用できない UI にアクセスしようとしてさまざまな例外をスローしたりする可能性があります。これを防ぐには、ソース管理システムを完全に設定し、ユーザーに追加の情報 (ユーザー名やパスワードなど) を照会する必要がないことを確認します。

以下のスクリプト言語を使用してスクリプトを定義できます。

構文

コマン ドは 1 行につき 1 つ入力します。行頭および行末の空白は削除されます。空白行は無視されます。行の # コメント記号より後は無視されます。コマンドは、コマンド名と 1 個以上の引数から構成されます。

$(key) (丸括弧) の書式のサブストリングは、引数でマクロとして再帰的に展開されます。

コマンド

コマンド説明

var <name> <value>

マクロ展開で使用する変数を定義します。

co </path/to/file.psf>

Eclipse チームプロジェクトセットエクスポート ファイルで指定されたプロジェクトをチェックアウトします。相対パスは、現在のファイルへの相対として解決されます (インクルードファイルにとって重要です)。

up </path/to/file.psf>

co とほぼ同じですが、プロジェクトがすでにワークスペース内に存在する場合、新しくチェックアウトするのではなく更新します。処理は「ヘッドレス」で行われますが、ローカルの変更が検出された場合、競合を解決するため、ダイアログを開いて UI からユーザーが介入するまで待機する場合があります。

注意: 更新は CVS および SVN リポジトリでだけサポートされています。チーム プロジェクト設定が他の種類のリポジトリを参照している場合、チェックアウトだけがサポートされます。

upb </path/to/file.psf>

co とほぼ同じですが、プロジェクトがすでにワークスペース内に存在する場合、新しくチェックアウトするのではなく更新します。up と同じ利点と制限があります。チェックアウトおよび/または更新後に PSF ファイル内のすべてのプロジェクトをビルドします。

rep </path/to/file.psf>

up とほぼ同じですが、プロジェクトがすでにワークスペース内に存在する場合、更新ではなく置換操作を使用します。警告なしでローカルの変更が上書きされます。

注意: 更新/置換は CVS および SVN リポジトリでだけサポートされています。チーム プロジェクト設定が他の種類のリポジトリを参照している場合、チェックアウトだけがサポートされます。

repb </path/to/file.psf>

upb とほぼ同じですが、プロジェクトがすでにワークスペース内に存在する場合、更新ではなく置換操作を使用します。警告なしでローカルの変更が上書きされます。チェックアウトおよび/または更新後に PSF ファイル内のすべてのプロジェクトをビルドします。

build [project1[project2[...]]]

引数で指定された名前のプロジェクトをビルドします。引数を指定しない場合、ワークスペースのすべてのプロ ジェクトがビルドされます。第 1 引数がハイフン (-) の場合、引数のリストにあるプロジェクトを除く、 ワークスペースのすべてのプロジェクトがビルドされ ます。

include </path/to/script>

実行するスクリプトファイルを指定します。相対パスは、現在のスクリプトファイルへの相対として解決されます (再帰的なインクルードコマンドにとって重要です)。

ant </path/to/build.xml> [target1[target2 [...]]]

指定されたビルド ファイルの指定されたターゲット (指定されていない場合はデフォルトのターゲット) を実行します。相対パスは、現在のファイルへの相対として解決されます。ant ビルドファイルの実行後、ワークスペース全体がリ フレッシュされます。

refreshワークスペース全体に対して Eclipse のリフレッ シュを実行します。

マクロ

コマンド引数の $(key) という形式の文字列は展開されます。直前の var コマンドまたはシステム プロパティの値が使用されます。システム プロパティは Java (user.home) で事前定義するか、-vmargs -Dkey=value パラメーターを指定して Eclipse を実行することでビルドに渡します。

  • No labels