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 6import os 7 8import common 9 10class 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