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

このセクションの内容:

はじめに

抑制機能を利用すると、ソース コードを修正せずに、静的解析違反を既知のもの (かつ特定の個所では許容可能) としてマークできます。DTP に接続された Parasoft ツールがコード解析時に静的解析違反を検出した場合、Team Server または DTP をチェックして、違反がサーバー上で抑制されるべきかどうかを確認します。違反が抑制としてマークされている場合、ツールはそのようにレポートします。詳細については「違反の抑制」を参照してください。

Parasoft 9.x ツールでレポートされた抑制データは Team Server (TCM) に保存されます。ツールが抑制マーカーのチェックを行うのも TCM です。Parasoft tools 10.4.0 以降では、DTP にデータが保存され、チェックされます。Parasoft tools 10.4.0 以降にアップグレードした場合、現在および将来の Parasoft ツールおよび Report Center が抑制データを利用できるよう、データを DTP データベースに移行する必要があります。

TCM 抑制ツールを使用して、従来の TCM 抑制情報を DTP に移行できます。ツールは別個にダウンロードします。Parasoft 製品担当者までお問い合わせください。 

要件

  • バージョン10.4.0 以降の Parasoft コード解析ツール
  • DTP 5.4.0 以降
  • Java 以降 (DTP に付属)
  • TCM からデータを取得するための DTP ファイル システムへのアクセス
  • データを DTP に移行 (アップロード) するための DTP ユーザー名およびパスワード

使用方法

  1. バージョン 10.4.0 以降の解析ツールで、TCM の抑制と関連付けられたコードに対して静的解析を実行し、結果を DTP に送信します。すると、DTP は TCM の抑制を DTP の違反にマッピングできるようになります。
  2. 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 Tool Options」を参照してください。

    Java が必要

    [DTP_INSTALL]/jre/bin/java にある、DTP に付属の Java 実行モジュールを使用すると、サポート対象のバージョンの Java を確実に使用できます。

  3. 次のコマンドで 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>

    このコマンドは、JSON ファイルを読み取り、DTP REST API を使用してデータを DTP にアップロードします。このコマンドは、DTP への HTTP 接続を作成できる任意のマシンから実行できます。TCM の抑制が、指定されたビルドの静的解析結果と比較されます。オプションの詳細については「TCM Tool Options」を参照してください。

    コマンドにパスワードを含めない場合

    コマンド ラインでパスワードを使用したくない場合、-p オプションを省略すると、パスワードを入力するプロンプトが表示されます。  

  4. 既存の結果は DTP で変更されません。ただ、違反が次回の静的解析の実行で抑制されるものとしてマークされるだけです。DTP に保存された抑制情報を使用するには、バージョン 10.4.0 以降のツールを使用して静的解析を再実行します。DTP で抑制としてマークされた違反は、抑制としてレポートされます。

移行後、更新された DTP の違反は、違反エクスプローラーの [優先度] タブで「以降の解析実行では、選択された違反を抑制します」とマークされます。[理由] フィールドには、TCM の抑制で指定されれていたのと同じ文字列が表示されます。TCM の抑制に基づいて DTP の違反を更新するには、違反と抑制のファイル パス、ルール ID、違反メッセージが同じでなければなりません。すでに以降のビルドでの抑制対象としてマークされた DTP の違反、および比較に使用されたビルドで抑制された DTP の違反は変更されません。

TCM Tool のオプション

TCM Suppression Tool の実行時、以下のオプションを使用できます。

オプション説明
-h, --help利用可能なコマンド ライン オプションの情報を出力します。
-v, --verbose

ログ情報を増やします。

-f, --file

TCM 抑制データを保存するファイルです。例:

-f suppressions.json

-w, --writeTcmSuppressionsToFile

ディスクから TCM の抑制を読み取り、-f オプションで指定されたファイルにデータを保存します。

-i, --dtpInstallationDir

DTP がインストールされているディレクトリコマンドは、DTP が実行されているマシンで実行する必要があります。例 (Windows):

-i C:\dtp

-t, --tcmUser

抑制データに関連付けられる Team Server のユーザー名を指定します。バージョン 9.x のツールの Parasoft 設定で指定されたユーザー名です。

[Parasoft] > [Development Testing Platform] > [Team Server]

詳細については、ご使用のツールのドキュメントを参照してください。

-l, --toolId

抑制データと関連付けられるツール ID を指定します。ほとんどの場合、以下のいずれかを指定します (大文字/小文字が区別されます)。

  • jtest
  • c++test
  • dottest

どの ID を使用すべきかわからない場合、[DTP_INSTALL]/tcm/storage/root/usr/[user storage dir]/[toolId] にあるディレクトリ名をチェックします。[user storage dir] は、管理者設定で TCM ユーザーに対して設定されます。

例:

-l c++test

-m, --migrateDTP サーバーに抑制を移行します。
-d, --dtpUrl

DTP に接続するためのベース URL を指定します。例:

-d https://localhost:8443

-u, --dtpUser DTP に接続するためのユーザーを指定します。
-p, --dtpPass

DTP ユーザーのパスワードを指定します。コマンド ラインでパスワードを指定したくない場合、引数を省略すると、パスワードを入力するプロンプトが表示されます。プロンプトが動作するためには、インタラクティブなコンソールでツールを実行する必要があります (Windows では cmd.exe を使用します)。

-b --build

バージョン 10.4.0 以降の静的解析ツールでレポートされた静的解析結果がある DTP 上の最新ビルドを指定します。これは、DTP が TCM の抑制データと DTP の静的解析データを比較するのに必要です。抑制データを適用するには、対応する違反がすでに DTP に存在していなければなりません。例:

-b foo_2018-06-14

  • No labels