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
This commit is contained in:
Fangrui Song 2018-02-02 16:41:07 +00:00
parent f5f45e5e63
commit 3823fc46f5
1 changed files with 9 additions and 6 deletions

View File

@ -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