このセクションでは解析のスコープを設定する方法について説明します。
テスト コンフィギュレーションのスコープの変更
デフォルトでは、C/C++test はテスト コンフィギュレーションを実行したときに選択されていたリソースを解析しますが、テスト コンフィギュレーションの [スコープ] タブにあるスコープ オプションを使用して、より狭いスコープを指定することもできます。「[スコープ] タブ - テスト対象のコードを定義する」を参照してください。
プロジェクト レベルでのスコープの変更
GUI でリソースを除外するか (「テストから除外するリソースの指定」を参照)、コマンド ラインでの解析実行時に -resource
、-exclude
、-include
オプションを使用して (「コマンドライン インターフェイスからのテスト」を参照)、プロジェクト レベルでスコープを指定できます。
ソース管理システムのデータに基づいてファイル フィルターを定義する
ソース管理システムのデータに基づくファイル フィルターを設定することで、ローカルで変更されたファイルまたは現在の作業ブランチで変更されたファイルだけに解析範囲を制限できます。これにより、ソース管理システムにコードをチェックインしたり、メインの開発ストリームにコードをマージする前に、最近のコードの変更で入り込んだバグを検出し、修正する作業に集中できるようになります。
ファイル フィルターを定義するには、次の方法があります。
- 選択したテスト コンフィギュレーションの GUI で設定する - 「[スコープ] タブ - テスト対象のコードを定義する」を参照してください。
- 詳細スコープ設定を指定する - 「詳細設定でファイル フィルターを設定する」を参照してください。設定はすべてのテスト コンフィギュレーションに適用され、テスト コンフィギュレーションで指定されたスコープを上書きします。
ファイル フィルターを設定する前に、サポート対象のソース管理システムへの接続が適切に設定されていることを確認します。
詳細設定でファイル フィルターを設定する
フィルターを設定するには、次の操作を行います。
詳細設定ファイルを作成し、C/C++test 詳細スコープ設定を含めます。利用可能な設定の一覧については「Advanced Scope Settings」を参照してください。詳細設定ファイルの内容は、次のようになります。
// ローカルで変更されたファイルだけに解析スコープを制限します // (ヘッダー ファイルを含む)。 scope.scontol.files.filter.mode=local cpptest.scope.adjuster.cu.enabled=true
// メインの開発ストリームと異なる現在の作業ブランチのファイル // (ヘッダー ファイルを含む) だけに解析スコープを制限します。 scope.scontol.files.filter.mode=branch cpptest.scope.adjuster.cu.enabled=true
// ブランチ "feature_372" と異なる現在の作業ブランチのファイル // (ヘッダー ファイルを含む) だけに解析スコープを制限します。 scope.scontrol.ref.branch=feature_372 cpptest.scope.adjuster.cu.enabled=true
- 詳細設定ファイルへのパスを指定します。「詳細設定ファイルの設定」を参照してください。
設定ファイルの詳細スコープ設定はすべてのテスト コンフィギュレーションに適用され、テスト コンフィギュレーションで指定されたスコープを上書きします。
詳細スコープ設定
設定 | 説明 |
---|---|
scope.scontrol.files.filter.mode=local | ローカルで変更されたファイルだけをチェックします。 |
scope.scontrol.files.filter.mode=branch | 参照ブランチのファイルと異なっている現在の作業ブランチのファイルだけをチェックします。デフォルトでは、参照ブランチは "master"、"trunk" などのメインの統合ストリームです。scope.scontrol.ref.branch を使用してカスタム ブランチを指定できます。 |
scope.scontrol.ref.branch=[branch or revision] | 変更されたファイルを検出および解析するために現在の作業ブランチと比較するブランチまたはリビジョンの名前または ID を指定します。scope.scontrol.files.filter.mode オプションに branch が設定されている場合に適用されます。 |
cpptest.scope.adjuster.cu.enabled=true | 変更されたファイルと同じコンパイル ユニットに所属するすべてのファイルをチェックします。ソース ファイルとヘッダー ファイルの両方に適用されます。 C/C++test は、ヘッダー ファイルを直接解析できません。このオプションを使用すると、ヘッダー ファイルをインクルードするソース ファイルが変更されていない場合でも、変更されたヘッダーファイルが解析されるよう保証できます。 |