Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space ENGINES1031 and version DEV

In this section:

Table of Contents
maxLevel2

Suppressing Findings in the IDE

You can suppress individual instances of findings, all instances of a finding type in a file, or all findings in the file from the Findings view.

  1. Right-click on a single finding or a group of selected findings and choose Suppress from the menu.

  2. Enter a reason for suppressing the finding and choose where the suppression will be stored.

    You can select one of the following storage options:

      • the finding locally on desktop - The suppressions will be stored in your workspace or solution and used only during local analysis runs. If you select this option, it will suppress all occurrences of the selected finding in the file (the number of occurrences will be displayed in the dialog box).You can configure the custom location for storing local suppression with the suppression.local.dir option; see Automation User Guide for details.
      • in Development Testing Platform- The suppressions will be stored in Development Testing Platform and shared with the team.
      • in source code - The findings will be suppressed in code and shared across the team when checked in your source control system.

  3. Click OK to complete the suppression.

Reviewing Suppressions

You can review suppressed findings and unsuppress the findings that have been saved locally on desktop. 

  1. Click Parasoft in the menu bar, choose Preferences (Eclipse), Options (NetBeans) or Settings (IntelliJ),select Import Findings and Coverage and enable the Suppressed findings from local analysis or file option (see Customizing Import Options for details).

  2.  Open the DTP Findings view, choose Configure Contents from the menu and enable the Suppressed findings option (see Customizing the Findings View for details).

  3. Run analysis or import findings (see Importing Findings). The suppressed findings will be displayed in the DTP Findings view.


  4. You can right-click a finding and choose the Go To option to view the code that triggered the finding.
  5. Unsuppress findings if necessary. Suppressions that are saved in the code need to be unsuppressed manually in the code. Suppressions stored in DTP can be unsuppressed in DTP. To unsupress locally suppressed findings, right-click on a finding or a group of selected findings and choose Unsuppress locally... from the menu:


Manually Suppressing Findings in Source Code

To suppress the reporting of findings from a specific rule or rule category:

  1. Determine the rule ID of the rule that you want to suppress. Rule IDs are listed in the Test Configurations.
  2. Open the source code in an editor.
  3. Enter a comment (in the following format) at the line of code where you want to start the suppressing the violation:
    // parasoft-begin-suppress <RULE_ID>
    To suppress all violations in a category, list only the category part of the Rule ID. For example, use the following comment to suppress all rules in the OOP (Object Oriented Programming) category:
    // parasoft-suppress OOP
    To suppress violations of two or more rules, list both Rule IDs, separated by one or more space characters. For example, use the following comment to suppress the rules OOP.AF and OOP.OPM:
    // parasoft-suppress OOP.AF OOP.OPM
    For complete documentation on the parasoft-suppress command, see “parasoft-suppress Command Details” section below.

  4. Enter the following comment at the line of code where you want to stop suppressing the violation:
    //parasoft-end-suppress <RULE_ID>

  5. Save the modified code.

Example 1:

Code Block
package examples.suppress;
public class Example {
	public int _field1;
	public int _field2;  // parasoft-suppress OOP.AF reason for suppression ...
	public int _field3;
}

Example 2:

Code Block
// parasoft-begin-suppress INTER.ITT

package examples.suppress;

public class AllFileSuppress {
	public static void main(String[] args) {
		System.out.println ("line1");
		System.out.println ("line2");
	}
}
//parasoft-end-suppress INTER.ITT
Info

In-line (in-code) suppressions will not be listed in the Suppressions view. Suppressions local to the workspace or shared by Team Server are listed in that view; in-line suppressions are listed along with the source code text.
If you want a suppression to continue through an entire file, you do not need to add a parasoft-end-suppress comment.

parasoft-suppress Command Details

Single Line Suppressions

Command

Code Block
<suppression keyword> [<rule category> | <rule category> . <rule id> | <rule category > - <rule severity> | ALL ] <suppression comment>

Examples

Code Block
// 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 with severity level 3"


Group Suppressions

Command

Code Block
 <begin suppression keyword>  [<rule category> | <rule category> . <rule id> 
| <rule category > - <rule severity> | ALL ]  <suppression comment>
  ..... java code .....
 <end suppression keyword>  [<rule category> | <rule category> . <rule id> |
<rule category > - <rule severity> | ALL ]  <suppression comment>

Examples

Code Block
// 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 start from this line"  ........