このセクションの内容:
概要
抑制を使用すると、ソース コードを変更せずに、静的解析違反を「既知の違反 (ただし特定のケースで許容される違反)」としてマーキングすることができます。DTP に接続した Parasoft ツールは、コード解析時に静的解析違反を発見した場合、違反がサーバーで抑制されることになるかどうかを確認するために、Team Server または DTP をチェックします。違反が抑制としてマーキングされている場合、ツールはそのことをレポートします。詳細については「違反エクスプローラー > 違反の抑制」を参照してください。
Parasoft 9.x ツールがレポートする抑制データは Team Server (TCM) に保管されます。Team Server (TCM) は、抑制マーカーをツールがチェックする場所でもあります。Parasoft ツール バージョン 10.4.0 以降は、DTP でデータを保管してチェックします。 Parasoft ツール バージョン 10.4.0 以降にアップグレードしている場合、DTP データベースに抑制データを移行する必要があります。現在および将来の Parasoft ツールおよび Report Center は、この DTP データベースを利用します。
TCM Suppression Tool を使用すれば、レガシーの TCM 抑制情報を DTP に移行することができます。このツールは DTP とは別に提供されています。詳細については Parasoft テクニカル サポート センター ([email protected]) までお問い合わせください。
要件
- Parasoft 静的解析ツール バージョン 10.4.0 以降
- DTP バージョン 5.4.0 以降
- Java バージョン 1.8 以降 (DTP と共にインストールされる)
- DTP ファイル システムへのアクセス (TCM からデータを収集するため)
- DTP にデータを移行 (アップロード) するための DTP ユーザー 名とパスワード
使用方法
- バージョン 10.4.0 以降の静的解析ツールを使って、TCM の抑制データに関係するコードに対して静的解析を実行し、解析結果を DTP に送ります。この操作によって、DTP は TCM の抑制データと DTP の違反をマッピングすることができます。
DTP が実行中のマシンで、以下のコマンドを使って TCM Suppressions Tool を実行します。
java -jar TcmSuppressionsTool.jar -w -f <FILENAME>.json -i <DTP_INSTALL_DIR> -t <TCM_USERNAME> -l <TOOLNAME>
このコマンドは、ディスク上の TCM ストレージ ファイルを読み込み、TCM の抑制データについての情報を収集し、その情報をディスク上の JSON ファイルに保管します。ファイル システムに直接アクセスするため、このコマンドは DTP を実行中のマシンで実行する必要があります。コマンドライン オプションの詳細については「TCM Suppression Tool のオプション 」を参照してください。
Java 1.8 が必要
確実にサポートされるバージョンの Java を使用するために、DTP に同梱された Java 実行ファイルを使用できます。Java 実行ファイルは [DTP_INSTALL]/jre/bin/java にあります。
以下のコマンドを使って TCM Suppressions Tool を実行し、抑制データを DTP に移行します。
java -jar TcmSuppressionsTool.jar -m -f <FILENAME>.json -d <PROTOCOL>//<DTP_HOST>:<DTP_PORT> -u <DTP_USERNAME> -p <DTP_PASSWORD> -b <BUILD_ID>
このコマンドは、DTP REST API を使って JSON ファイルを読み込み、データを DTP にアップロードします。DTP への HTTP 接続を作成できる任意のマシンでこのコマンドを実行できます。コマンドライン オプションの詳細については「TCM Suppression Tool のオプション」を参照してください。
コマンドラインでパスワードを隠すには
コマンドラインでパスワードを使用したくない場合は
-p
オプションを省略します。後でパスワードを求められます。- 既存の結果は DTP 上で変わりません。唯一の違いは、次回の静的解析の実行での抑制として違反がマーキングされていることです。DTP に保管された抑制情報を使用するには、バージョン 10.4.0 以降のツールを使って静的解析をもう一度実行します。DTP 上で抑制としてマーキングされた違反は、抑制としてレポートされます。
移行の後、更新された DTP の違反は 違反エクスプローラー の [優先度] タブで「以降の解析実行では、選択された違反を抑制します」としてマーキングされます。[理由] フィールドには、TCM の抑制データと同じ文字列が入ります。TCM の抑制データに基づいて DTP の違反を更新するには、違反と抑制が同じファイル パス、ルール ID、および違反メッセージを持っていなければなりません。今後のビルドでの抑制としてすでにマーキングされた DTP の違反と、比較のために使用されたビルドで抑制された DTP の違反は変更されません。
TCM Suppression Tool のオプション
TCM Suppression Tool の実行時に以下のオプションを使用できます。
オプション | 説明 |
---|---|
-h, --help | 利用できるコマンドライン オプションについての情報を表示します。 |
-v, --verbose | より詳細なログ情報を出力します。 |
-f, --file | TCM 抑制データを保存するためのファイル。
|
-w, --writeTcmSuppressionsToFile | ディスクから TCM の抑制を読み取り、 |
-i, --dtpInstallationDir | DTP のインストール ディレクトリ。このコマンドは、DTP 実行中のマシンで実行する必要があります。
|
-t, --tcmUser | 抑制データに関係する Team Server ユーザー名を指定します。これは、Parasoft 9.x ツールの Parasoft 設定で指定されたユーザー名です。 Parasoft > Development Testing Platform> Team Server 詳細については、ご使用のツールのドキュメントを参照してください。 |
-l, --toolId | 抑制データに関係するツール ID を指定します。ほとんどの場合、以下のいずれかのツール ID を指定します (大文字と小文字は区別されます)。
どの ID を使用すれば良いか分からない場合、[DTP_INSTALL]/tcm/storage/root/usr/[user storage dir]/[toolId] にある TCM ストレージでディレクトリ名を確認できます。[user storage dir] は管理者設定で TCM ユーザー用に設定された値です。 例:
|
-m, --migrate | DTP Server に抑制を移行します。 |
-d, --dtpUrl | DTP に接続するためのベース URL を指定します。 |
-u, --dtpUser | DTP に接続するためのユーザーを指定します。 |
-p, --dtpPass | DTP ユーザーのパスワードを指定します。コマンドラインでパスワードを指定したくない場合、この引数を省略すると、パスワードの入力を求められます。そのためには、インタラクティブ コンソールで TCM Suppression Tool を実行する必要があります (Windows では cmd.exe を使用します)。 |
-b --build | バージョン 10.4.0 以降の静的解析ツールで提供された静的解析結果がある DTP 上の最近のビルドを指定します。この指定は、TCM の抑制データを DTP の静的解析データと照合するために必要です。対応する違反は、適用される抑制データのために DTP 上にすでに存在している必要があります。
|