[dvsim/syn/lint] Add options to selectively sanitize reports

Signed-off-by: Michael Schaffner <msf@google.com>
diff --git a/util/dvsim/LintCfg.py b/util/dvsim/LintCfg.py
index 6683c62..54d627e 100644
--- a/util/dvsim/LintCfg.py
+++ b/util/dvsim/LintCfg.py
@@ -14,6 +14,7 @@
 from OneShotCfg import OneShotCfg
 from utils import print_msg_list, subst_wildcards
 
+
 class LintCfg(OneShotCfg):
     """Derivative class for linting purposes.
     """
@@ -192,9 +193,21 @@
         if len(table) > 1:
             self.results_md = results_str + tabulate(
                 table, headers="firstrow", tablefmt="pipe",
-                colalign=colalign) + "\n" + fail_msgs
+                colalign=colalign) + "\n"
+
+            # the email and published reports will default to self.results_md if they are
+            # empty. in case they need to be sanitized, override them and do not append
+            # detailed messages.
+            if self.sanitize_email_results:
+                self.email_results_md = self.results_md
+            if self.sanitize_publish_results:
+                self.publish_results_md = self.results_md
+            # locally generated result always contains all details
+            self.results_md += fail_msgs
         else:
             self.results_md = results_str + "\nNo results to display.\n"
+            self.email_results_md = self.results_md
+            self.publish_results_md = self.results_md
 
         # Write results to the scratch area
         self.results_file = self.scratch_path + "/results_" + self.timestamp + ".md"