Home | History | Annotate | Download | only in tools
      1 #!/usr/bin/env python
      2 # Copyright 2015 The PDFium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 import os
      7 
      8 import common
      9 
     10 class Suppressor:
     11   SUPPRESSIONS_FILENAME = 'SUPPRESSIONS'
     12   PLATFORM_SUPPRESSIONS_FILENAME = 'SUPPRESSIONS_%s' % common.os_name()
     13 
     14   def __init__(self, finder):
     15     testing_dir = finder.TestingDir()
     16     self.suppression_list = self._ExtractSuppressions(
     17       os.path.join(testing_dir, self.SUPPRESSIONS_FILENAME))
     18     self.platform_suppression_list = self._ExtractSuppressions(
     19       os.path.join(testing_dir, self.PLATFORM_SUPPRESSIONS_FILENAME))
     20 
     21   def _ExtractSuppressions(self, suppressions_filename):
     22     with open(suppressions_filename) as f:
     23       return [y for y in [x.split('#')[0].strip() for x in f.readlines()] if y]
     24 
     25   def IsSuppressed(self, input_filename):
     26     if input_filename in self.suppression_list:
     27       print ("%s is suppressed, found in %s file" %
     28              (input_filename, self.SUPPRESSIONS_FILENAME))
     29       return True
     30     if input_filename in self.platform_suppression_list:
     31       print ("%s is suppressed, found in %s file" %
     32              (input_filename, self.PLATFORM_SUPPRESSIONS_FILENAME))
     33       return True
     34     return False
     35