diff options
Diffstat (limited to 'testing/tools/suppressor.py')
-rwxr-xr-x | testing/tools/suppressor.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/tools/suppressor.py b/testing/tools/suppressor.py new file mode 100755 index 0000000000..fff9bc8381 --- /dev/null +++ b/testing/tools/suppressor.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python +# Copyright 2015 The PDFium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import os + +import common + +class Suppressor: + SUPPRESSIONS_FILENAME = 'SUPPRESSIONS' + PLATFORM_SUPPRESSIONS_FILENAME = 'SUPPRESSIONS_%s' % common.os_name() + + def __init__(self, finder): + testing_dir = finder.TestingDir() + self.suppression_list = self._ExtractSuppressions( + os.path.join(testing_dir, self.SUPPRESSIONS_FILENAME)) + self.platform_suppression_list = self._ExtractSuppressions( + os.path.join(testing_dir, self.PLATFORM_SUPPRESSIONS_FILENAME)) + + def _ExtractSuppressions(self, suppressions_filename): + with open(suppressions_filename) as f: + return [y for y in [x.split('#')[0].strip() for x in f.readlines()] if y] + + def IsSuppressed(self, input_filename): + if input_filename in self.suppression_list: + print ("Not running %s, found in %s file" % + (input_filename, self.SUPPRESSIONS_FILENAME)) + return True + if input_filename in self.platform_suppression_list: + print ("Not running %s, found in %s file" % + (input_filename, self.PLATFORM_SUPPRESSIONS_FILENAME)) + return True + return False |