...
Code Block |
---|
// parasoft-suppress <rule-id>|<rule-category>|ALL "<suppression comment>" |
Examples:
Code Block |
---|
int proc1(bool a, bool b, int i)
{
if (a | b) // parasoft-suppress CS "suppress all rules in category CS"
if (b = a) // parasoft-suppress CS.PB "suppress rule CS.PB"
{
string |
...
emptyString1 = ""; // parasoft-suppress CS-1 "suppress all rules in category CS with severity level 1"
}
else
{
string emptyString2 = ""; // parasoft-suppress CS.BRM.ES BD.PB.VOVR CWE.563.VOVR "suppress multiple rules"
}
return i++; // parasoft-suppress ALL "suppress all rules"
} |
Anchor |
---|
| block_suppression |
---|
| block_suppression |
---|
|
Block Suppression
...
Code Block |
---|
// parasoft-begin-suppress <rule-id>|<rule-category>|ALL "<suppression comment>"
... code block ...
// parasoft-end-suppress <rule-id>|<rule-category>|ALL "<suppression comment>" |
Examples:
Code Block |
---|
int proc2(bool a, bool b, int i)
{
// parasoft-begin-suppress CS "begin suppress all rules in category CS"
if (a | b)
if(b = a)
// parasoft-end-suppress |
...
CS "end suppress all rules in category CS"
{
string emptyString = "";
}
return i++;
}
int proc3(bool a, bool b, int i)
{
if (a | b)
// parasoft-begin-suppress CS.PB "begin suppress rule CS.PB"
if(b = a)
// parasoft-end-suppress |
...
...
CS.PB "end suppress rule CS.PB"
{
string emptyString = "";
}
return i++;
}
int proc4(bool a, bool b, int i)
{
// parasoft-begin-suppress CS-1 "begin suppress all rules in category CS with severity level 1"
if (a | b)
if(b = a)
{
string emptyString = "";
}
return i++;
// parasoft-end-suppress |
...
CS-1 "end suppress all rules in category CS with severity level 1"
}
// parasoft-begin-suppress ALL "begin suppress all rules"
int proc5(bool a, bool b, int i)
{
if (a | b)
if(b = a)
{
string emptyString = "";
}
return i++;
}
// parasoft-end-suppress ALL "end suppress all rules" |
To suppress multiple rules in a file, include the following at the beginning/end of the file:
Code Block |
---|
// parasoft-begin-suppress CS.BRM.ES BD.PB.VOVR CWE.563.VOVR "begin suppress multiple rules"
.....
// parasoft-end-suppress CS.BRM.ES |
...
BD.PB.VOVR CWE.563.VOVR "end suppress |
...
Anchor |
---|
| In-file Suppressions Format |
---|
| In-file Suppressions Format |
---|
|
Defining Suppressions in Suppression Files
...
Use the following format to add suppression entries to parasoft.suppress files:
Code Block |
---|
suppression-begin
file: Account.cs (required)
line: 12 (optional)
rule-id: CODSTA-123 (optional)
message: Exact violation message (optional)
reason: Approved (optional)
author: devel (optional)
date: 2020-09-21 (optional)
suppression-end |
Example:
At a minimum, you must specify the source file where the problem was detected. This will suppress all findings reported for the specified file. In the following example, all findings detected in the Account file will be suppressed:
Code Block |
---|
suppression-begin
file: Account.cs
suppression-end |
Other attributes are optional and help you fine-tune the suppression. In the following example, all findings that the PB.TYPO.TLS rule detected in the Account file are suppressed, regardless on which code line they occur:
Code Block |
---|
suppression-begin
file: Account.cs
rule-id: PB.TYPO.TLS
suppression-end |
Notes on Attributes
- It is a good practice to specify the reason for suppression.
- The
line
attribute should be used with caution as it may invalidate the suppression if the code is moved to another line when the source file is modified.
...