Index: testing/tools/run_pixel_tests.py |
diff --git a/testing/tools/run_pixel_tests.py b/testing/tools/run_pixel_tests.py |
index ef2c31ef4710428735bf0ea50552ea782706469d..0665718ef4fb078be9792281442709dee3e6568b 100755 |
--- a/testing/tools/run_pixel_tests.py |
+++ b/testing/tools/run_pixel_tests.py |
@@ -15,6 +15,12 @@ import sys |
# x_path - "path/to/a/b/c/x.ext" |
# c_dir - "path/to/a/b/c" |
+def extract_suppressions(filename): |
+ with open(filename) as f: |
+ suppressions = [y for y in [ |
+ x.split('#')[0].strip() for x in f.readlines()] if y] |
+ return suppressions |
+ |
def generate_and_test(input_filename, source_dir, working_dir, |
fixup_path, pdfium_test_path, pdfium_diff_path): |
input_root, _ = os.path.splitext(input_filename) |
@@ -46,6 +52,16 @@ def generate_and_test(input_filename, source_dir, working_dir, |
return True |
def main(): |
+ if sys.platform.startswith('linux'): |
+ os_name = 'linux' |
+ elif sys.platform.startswith('win'): |
+ os_name = 'win' |
+ elif sys.platform.startswith('darwin'): |
+ os_name = 'mac' |
+ else: |
+ print 'Confused, can not determine OS, aborting.' |
+ return 1 |
+ |
parser = optparse.OptionParser() |
parser.add_option('--build-dir', default=os.path.join('out', 'Debug'), |
help='relative path from the base source directory') |
@@ -94,12 +110,26 @@ def main(): |
if not os.path.exists(working_dir): |
os.makedirs(working_dir) |
+ suppression_list = extract_suppressions( |
+ os.path.join(testing_dir, 'SUPPRESSIONS')) |
+ |
+ platform_suppression_filename = 'SUPPRESSIONS_%s' % os_name |
+ platform_suppression_list = extract_suppressions( |
+ os.path.join(testing_dir, platform_suppression_filename)) |
+ |
failures = [] |
input_file_re = re.compile('^[a-zA-Z0-9_.]+[.]in$') |
for input_filename in os.listdir(source_dir): |
if input_file_re.match(input_filename): |
input_path = os.path.join(source_dir, input_filename) |
if os.path.isfile(input_path): |
+ if input_filename in suppression_list: |
+ print "Not running %s, found in SUPPRESSIONS file" % input_filename |
+ continue |
+ if input_filename in platform_suppression_list: |
+ print ("Not running %s, found in %s file" % |
+ (input_filename, platform_suppression_filename)) |
+ continue |
if not generate_and_test(input_filename, source_dir, working_dir, |
fixup_path, pdfium_test_path, pdfium_diff_path): |
failures.append(input_path) |