From c8c8137657e86e91753556517a74052ca3705f19 Mon Sep 17 00:00:00 2001
From: "timurrrr@chromium.org"
 <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu, 5 Aug 2010 14:04:40 +0000
Subject: Use suppressions_mac.txt for Mac-specific reports TBR=glider Review
 URL: http://codereview.chromium.org/3020069

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55064 0039d316-1c4b-4281-b951-d872f2087c98
---
 tools/valgrind/test_suppressions.py | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/tools/valgrind/test_suppressions.py b/tools/valgrind/test_suppressions.py
index ffb70f2..7473c9b 100644
--- a/tools/valgrind/test_suppressions.py
+++ b/tools/valgrind/test_suppressions.py
@@ -36,17 +36,15 @@ def ReadReportsFromFile(filename):
       cur_supp = ["{"]
   return reports,line
 
-filenames = [
-  "memcheck/suppressions.txt",
-]
-# TODO(timurrrr): Support platform-specific suppressions
-
-all_suppressions = []
 suppressions_root = path_utils.ScriptDir()
 
-for f in filenames:
-  supp_filename = os.path.join(suppressions_root, f)
-  all_suppressions += suppressions.ReadSuppressionsFromFile(supp_filename)
+supp_filename = os.path.join(suppressions_root,
+                             "memcheck", "suppressions.txt")
+common_suppressions = suppressions.ReadSuppressionsFromFile(supp_filename)
+
+supp_filename = os.path.join(suppressions_root,
+                             "memcheck", "suppressions_mac.txt")
+mac_suppressions = suppressions.ReadSuppressionsFromFile(supp_filename)
 
 # all_reports is a map {report: list of urls containing this report}
 all_reports = defaultdict(list)
@@ -58,15 +56,22 @@ for f in sys.argv[1:]:
 
 reports_count = 0
 for r in all_reports:
+  if set([False]) == set([not re.search("%20Mac%20", url)\
+                         for url in all_reports[r]]):
+    # Include mac suppressions if the report is only present on Mac
+    cur_supp = common_suppressions + mac_suppressions
+  else:
+    cur_supp = common_suppressions
+
   match = False
-  for s in all_suppressions:
+  for s in cur_supp:
     if s.Match(r.split("\n")):
       match = True
       break
   if not match:
     reports_count += 1
     print "==================================="
-    print "This report observed in:"
+    print "This report observed at"
     for url in all_reports[r]:
       print "  %s" % url
     print "didn't match any suppressions:"
-- 
cgit v1.1