From e40806ecdf81e46aa805a9298b603233656cc931 Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Fri, 31 Jul 2015 19:00:48 -0700 Subject: [PATCH] test: Add script to display the difference between two result sets --- test/compare-results | 57 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 test/compare-results diff --git a/test/compare-results b/test/compare-results new file mode 100755 index 000000000..97df82478 --- /dev/null +++ b/test/compare-results @@ -0,0 +1,57 @@ +#!/usr/bin/python + +# Print the difference between two results.txt files from cairo tests + +import sys + +old_filename = sys.argv[1] +new_filename = sys.argv[2] + +results = { } + +f = open(old_filename, "r") +for line in f.readlines(): + if 'RESULT:' not in line: + continue + + items = line.split(" ") + testcase = dict(zip(items[0::2], items[1::2])) + + try: + k = "%s.%s.%s" %( + testcase['TEST:'], + testcase['TARGET:'], + testcase.get('FORMAT:', '')) + results[k] = testcase['RESULT:'] + except: + print line + raise + +f = open(new_filename, "r") +for line in f.readlines(): + if 'RESULT:' not in line: + # Not a results line. Skip + continue + + items = line.split(" ") + testcase = dict(zip(items[0::2], items[1::2])) + try: + k = "%s.%s.%s" %( + testcase['TEST:'], + testcase['TARGET:'], + testcase.get('FORMAT:','')) + except: + print line + raise + + if k not in results.keys(): + # New test? Skip + continue + + old_val = results[k].strip() + new_val = testcase['RESULT:'].strip() + if old_val == new_val: + # Test didn't change. Skip + continue + + print("%s -> %s # %s" % (old_val, new_val, k))