r277328 - scan-build: Add an option to show the description in the list of defect

Sylvestre Ledru via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 1 01:04:45 PDT 2016


Author: sylvestre
Date: Mon Aug  1 03:04:45 2016
New Revision: 277328

URL: http://llvm.org/viewvc/llvm-project?rev=277328&view=rev
Log:
scan-build: Add an option to show the description in the list of defect

Summary:
This patch adds an option //--show-description// to add the defect description to the list of defect. This helps to get a better understanding of the defect without opening the page.

For example, this is used for Firefox:
https://people.mozilla.org/~sledru/reports/fx-scan-build/

Reviewers: rizsotto.mailinglist, zaks.anna

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D22810

Modified:
    cfe/trunk/tools/scan-build/bin/scan-build

Modified: cfe/trunk/tools/scan-build/bin/scan-build
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-build/bin/scan-build?rev=277328&r1=277327&r2=277328&view=diff
==============================================================================
--- cfe/trunk/tools/scan-build/bin/scan-build (original)
+++ cfe/trunk/tools/scan-build/bin/scan-build Mon Aug  1 03:04:45 2016
@@ -53,6 +53,7 @@ my %Options = (
   IgnoreErrors => 0,         # Ignore build errors.
   ViewResults => 0,          # View results when the build terminates.
   ExitStatusFoundBugs => 0,  # Exit status reflects whether bugs were found
+  ShowDescription => 0,      # Display the description of the defect in the list
   KeepEmpty => 0,            # Don't remove output directory even with 0 results.
   EnableCheckers => {},
   DisableCheckers => {},
@@ -453,6 +454,10 @@ sub ScanFile {
 
   push @$Index,[ $FName, $BugCategory, $BugType, $BugFile, $BugFunction, $BugLine,
                  $BugPathLength ];
+
+  if ($Options{ShowDescription}) {
+      push @{ $Index->[-1] }, $BugDescription
+  }
 }
 
 ##----------------------------------------------------------------------------##
@@ -746,6 +751,15 @@ print OUT <<ENDTEXT;
   <td>Function/Method</td>
   <td class="Q">Line</td>
   <td class="Q">Path Length</td>
+ENDTEXT
+
+if ($Options{ShowDescription}) {
+print OUT <<ENDTEXT;
+    <td class="Q">Description</td>
+ENDTEXT
+}
+
+print OUT <<ENDTEXT;
   <td class="sorttable_nosort"></td>
   <!-- REPORTBUGCOL -->
 </tr></thead>
@@ -771,10 +785,10 @@ ENDTEXT
 
       print OUT "<tr class=\"bt_$x\">";
       print OUT "<td class=\"DESC\">";
-      print OUT $row->[1];
+      print OUT $row->[1]; # $BugCategory
       print OUT "</td>";
       print OUT "<td class=\"DESC\">";
-      print OUT $row->[2];
+      print OUT $row->[2]; # $BugType
       print OUT "</td>";
 
       # Update the file prefix.
@@ -802,11 +816,11 @@ ENDTEXT
       print OUT "</td>";
 
       print OUT "<td class=\"DESC\">";
-      print OUT $row->[4];
+      print OUT $row->[4]; # Function
       print OUT "</td>";
 
       # Print out the quantities.
-      for my $j ( 5 .. 6 ) {
+      for my $j ( 5 .. 6 ) { # Line & Path length
         print OUT "<td class=\"Q\">$row->[$j]</td>";
       }
 
@@ -1150,6 +1164,10 @@ OPTIONS:
    Specify the title used on generated HTML pages. If not specified, a default
    title will be used.
 
+ --show-description
+
+   Display the description of defects in the list
+
  -plist
 
    By default the output of scan-build is a set of HTML files. This option
@@ -1586,6 +1604,12 @@ sub ProcessArgs {
       next;
     }
 
+    if ($arg eq "--show-description") {
+      shift @$Args;
+      $Options{ShowDescription} = 1;
+      next;
+    }
+
     if ($arg eq "-store") {
       shift @$Args;
       $Options{StoreModel} = shift @$Args;




More information about the cfe-commits mailing list