From 3823fc46f578b0d889cd458ef16e988aed41cf81 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Fri, 2 Feb 2018 16:41:07 +0000 Subject: [PATCH] Make utils/UpdateTestChecks/common.py Python 2/3 compatible and fix print statements. Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D42674 llvm-svn: 324104 --- llvm/utils/UpdateTestChecks/common.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/llvm/utils/UpdateTestChecks/common.py b/llvm/utils/UpdateTestChecks/common.py index f8f75c8b712b..b95dd69c2380 100644 --- a/llvm/utils/UpdateTestChecks/common.py +++ b/llvm/utils/UpdateTestChecks/common.py @@ -1,5 +1,7 @@ +from __future__ import print_function import re import subprocess +import sys RUN_LINE_RE = re.compile('^\s*;\s*RUN:\s*(.*)$') CHECK_PREFIX_RE = re.compile('--?check-prefix(?:es)?=(\S+)') @@ -35,9 +37,10 @@ def invoke_tool(exe, cmd_args, ir): with open(ir) as ir_file: stdout = subprocess.check_output(exe + ' ' + cmd_args, shell=True, stdin=ir_file) + if sys.version_info[0] > 2: + stdout = stdout.decode() # Fix line endings to unix CR style. - stdout = stdout.replace('\r\n', '\n') - return stdout + return stdout.replace('\r\n', '\n') # Build up a dictionary of all the function bodies. def build_function_body_dictionary(function_re, scrubber, scrubber_args, raw_tool_output, prefixes, func_dict, verbose): @@ -50,14 +53,14 @@ def build_function_body_dictionary(function_re, scrubber, scrubber_args, raw_too # We only use the last line of the function body for stress tests. scrubbed_body = '\n'.join(scrubbed_body.splitlines()[-1:]) if verbose: - print >>sys.stderr, 'Processing function: ' + func + print('Processing function: ' + func, file=sys.stderr) for l in scrubbed_body.splitlines(): - print >>sys.stderr, ' ' + l + print(' ' + l, file=sys.stderr) for prefix in prefixes: if func in func_dict[prefix] and func_dict[prefix][func] != scrubbed_body: if prefix == prefixes[-1]: - print >>sys.stderr, ('WARNING: Found conflicting asm under the ' - 'same prefix: %r!' % (prefix,)) + print('WARNING: Found conflicting asm under the ' + 'same prefix: %r!' % (prefix,), file=sys.stderr) else: func_dict[prefix][func] = None continue