抑制とは、特定の静的解析違反メッセージを C++test でレポートしないようにする機能です。抑制した違反メッセージは、[品質タスク] ビューではなく[抑制] ビューに表示されます。抑制は、GUI で設定することも、直接ソース コードで定義することもできます。
このセクションの内容 :
「抑制」を参照してください。
[品質タスク]ビューに表示されている静的解析違反を抑制するには、次の操作を行います。
違反メッセージ (タスク) が抑制されて [品質タスク]ビューから削除されます。抑制エントリは、選択したモードに従って、[抑制] ビューに追加されるか、または直接ソース コードに追加されます。次回このプロジェクトをテストすると、この違反メッセージは [抑制] ビューにレポートされ、 [品質タスク]ビューにはレポートされません。
ソース コード中での抑制とは逆に、チームでの抑制は、違反メッセージ ベースでありルール ベースではありません。抑制は、1 つの特定の静的解析タスク (たとえば 行 Y で発生した ルール X の違反の修正) のレポートを回避します。あるルールのすべての違反のレポートを回避するわけではありません。 |
ソース コード中で抑制を定義することには、次のような利点があります。
ソース コード中で抑制を定義する方法は 2 種類あります。
C++test では、C/C++ のコメントに埋め込まれた次のディレクティブを使って、直接ソース コード中で抑制を定義できます。
<suppression keyword> [<rule category> | <rule category> . <rule id> | <rule category > - <rule severity> | ALL ] <suppression comment> |
//parasoft-suppress CODSTA "suppress all rules in category CODSTA" // parasoft-suppress CODSTA.NEA "suppress rule CODSTA.NEA" // parasoft-suppress CODSTA-1 "suppress all rules in category CODSTA with severity level 1" // parasoft-suppress ALL "suppress all rules" // parasoft-suppress CODSTA FORMAT.MCH JAVADOC-3 "suppress all rules in category CODSTA and rule FORMAT.MCH and all rules in category JAVADOC with severity level 3" |
<begin suppression keyword> [<rule category> | <rule category> . <rule id> | <rule category > - <rule severity> | ALL ] <suppression comment> ..... source code block ..... <end suppression keyword> [<rule category> | <rule category> . <rule id> | <rule category > - <rule severity> | ALL ] <suppression comment> |
// parasoft-begin-suppress CODSTA "begin suppress all rules in category CODSTA" ..... // parasoft-end-suppress CODSTA "end suppress all rules in category CODSTA" // parasoft-begin-suppress CODSTA.NEA "begin suppress rule CODSTA.NEA" ..... // parasoft-end-suppress CODSTA.NEA "end suppress rule CODSTA.NEA" // parasoft-begin-suppress CODSTA-1 "begin suppress all rules in category CODSTA with severity level 1" ...... // parasoft-end-suppress CODSTA-1 "end suppress all rules in category CODSTA with severity level 1" //parasoft-begin-suppress ALL "begin suppress all rules" ..... // parasoft-end-suppress ALL "end suppress all rules" // parasoft-begin-suppress CODSTA FORMAT.MCH "begin suppress all rules in category CODSTA and rule FORMAT.MCH" ..... // parasoft-end-suppress CODSTA FORMAT.MCH "end suppress all rules in category CODSTA and rule FORMAT.MCH" // parasoft-begin-suppress CODSTA "begin suppress all rules in category CODSTA" ..... // parasoft-end-suppress CODSTA-1 "end suppress all rules in category CODSTA with severity level 1; however rules with severity level 2-5 in category CODSTA are still suppressed." ..... // parasoft-end-suppress CODSTA "end suppress all rules in category CODSTA" // parasoft-begin-suppress ALL "begin suppress all rules" ..... // parasoft-end-suppress CODSTA FORMAT-1 "end suppress all rules in category CODSTA and all rules in category FORMAT with severity level 1; however, others rules in CODSTA and FORMAT-1 are still suppressed." ..... // parasoft-end-suppress ALL "end suppress all rules" //parasoft-begin-suppress ALL "begin suppress all rules, since no end suppression comment, all rules will be suppressed starting from this line" |
以下の抑制ディレクティブは非推奨になりました。
|
抑制後のテストで発生した「抑制された違反メッセージ」を参照するには、次の操作を行います。
[抑制] ビューには次の情報が表示されます。
[抑制] ビューの内容を特定の列でソートするには、該当する列ヘッダーをクリックします。
[抑制] ビューで抑制項目を右クリックし、ショートカット メニューの [メッセージの編集] または [理由の編集] をクリックすると、表示されたダイアログでメッセージまたは理由を編集できます。 |
抑制フィルターを使って、[抑制] ビューに表示する抑制を制限できます。次の操作を行います。
違反メッセージの抑制を解除するには、次の操作を行います。
今後、このプロジェクトのテストでこの違反が検出された場合、その違反メッセージは [品質タスク]ビューに表示されます。