contrib: testsuite-management: Update to be python3 compatible
contrib/ChangeLog: * testsuite-management/validate_failures.py: 2to3
This commit is contained in:
parent
b33b267834
commit
b58c12f3cf
@ -1,11 +1,7 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Script to compare testsuite failures against a list of known-to-fail
|
||||
# tests.
|
||||
#
|
||||
# NOTE: This script is used in installations that are running Python 2.4.
|
||||
# Please stick to syntax features available in 2.4 and earlier
|
||||
# versions.
|
||||
|
||||
# Contributed by Diego Novillo <dnovillo@google.com>
|
||||
#
|
||||
@ -82,7 +78,7 @@ _MANIFEST_PATH_PATTERN = '%s/%s/%s.xfail'
|
||||
_OPTIONS = None
|
||||
|
||||
def Error(msg):
|
||||
print >>sys.stderr, 'error: %s' % msg
|
||||
print('error: %s' % msg, file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
@ -126,7 +122,7 @@ class TestResult(object):
|
||||
self.description) = re.match(r'([A-Z]+):\s*(\S+)\s*(.*)',
|
||||
summary_line).groups()
|
||||
except:
|
||||
print 'Failed to parse summary line: "%s"' % summary_line
|
||||
print('Failed to parse summary line: "%s"' % summary_line)
|
||||
raise
|
||||
self.ordinal = ordinal
|
||||
except ValueError:
|
||||
@ -180,7 +176,7 @@ class TestResult(object):
|
||||
|
||||
def GetMakefileValue(makefile_name, value_name):
|
||||
if os.path.exists(makefile_name):
|
||||
makefile = open(makefile_name)
|
||||
makefile = open(makefile_name, encoding='latin-1', mode='r')
|
||||
for line in makefile:
|
||||
if line.startswith(value_name):
|
||||
(_, value) = line.split('=', 1)
|
||||
@ -246,8 +242,8 @@ def GetNegativeResult(line):
|
||||
def ParseManifestWorker(result_set, manifest_path):
|
||||
"""Read manifest_path, adding the contents to result_set."""
|
||||
if _OPTIONS.verbosity >= 1:
|
||||
print 'Parsing manifest file %s.' % manifest_path
|
||||
manifest_file = open(manifest_path)
|
||||
print('Parsing manifest file %s.' % manifest_path)
|
||||
manifest_file = open(manifest_path, encoding='latin-1', mode='r')
|
||||
for line in manifest_file:
|
||||
line = line.strip()
|
||||
if line == "":
|
||||
@ -278,7 +274,7 @@ def ParseSummary(sum_fname):
|
||||
# ordinal is used when sorting the results so that tests within each
|
||||
# .exp file are kept sorted.
|
||||
ordinal=0
|
||||
sum_file = open(sum_fname)
|
||||
sum_file = open(sum_fname, encoding='latin-1', mode='r')
|
||||
for line in sum_file:
|
||||
if IsInterestingResult(line):
|
||||
result = TestResult(line, ordinal)
|
||||
@ -287,7 +283,7 @@ def ParseSummary(sum_fname):
|
||||
# Tests that have expired are not added to the set of expected
|
||||
# results. If they are still present in the set of actual results,
|
||||
# they will cause an error to be reported.
|
||||
print 'WARNING: Expected failure "%s" has expired.' % line.strip()
|
||||
print('WARNING: Expected failure "%s" has expired.' % line.strip())
|
||||
continue
|
||||
result_set.add(result)
|
||||
sum_file.close()
|
||||
@ -324,7 +320,7 @@ def GetResults(sum_files):
|
||||
"""Collect all the test results from the given .sum files."""
|
||||
build_results = set()
|
||||
for sum_fname in sum_files:
|
||||
print '\t%s' % sum_fname
|
||||
print('\t%s' % sum_fname)
|
||||
build_results |= ParseSummary(sum_fname)
|
||||
return build_results
|
||||
|
||||
@ -387,23 +383,23 @@ def GetBuildData():
|
||||
return None, None
|
||||
srcdir = GetMakefileValue('%s/Makefile' % _OPTIONS.build_dir, 'srcdir =')
|
||||
target = GetMakefileValue('%s/Makefile' % _OPTIONS.build_dir, 'target_alias=')
|
||||
print 'Source directory: %s' % srcdir
|
||||
print 'Build target: %s' % target
|
||||
print('Source directory: %s' % srcdir)
|
||||
print('Build target: %s' % target)
|
||||
return srcdir, target
|
||||
|
||||
|
||||
def PrintSummary(msg, summary):
|
||||
print '\n\n%s' % msg
|
||||
print('\n\n%s' % msg)
|
||||
for result in sorted(summary):
|
||||
print result
|
||||
print(result)
|
||||
|
||||
|
||||
def GetSumFiles(results, build_dir):
|
||||
if not results:
|
||||
print 'Getting actual results from build directory %s' % build_dir
|
||||
print('Getting actual results from build directory %s' % build_dir)
|
||||
sum_files = CollectSumFiles(build_dir)
|
||||
else:
|
||||
print 'Getting actual results from user-provided results'
|
||||
print('Getting actual results from user-provided results')
|
||||
sum_files = results.split()
|
||||
return sum_files
|
||||
|
||||
@ -425,7 +421,7 @@ def PerformComparison(expected, actual, ignore_missing_failures):
|
||||
expected_vs_actual)
|
||||
|
||||
if tests_ok:
|
||||
print '\nSUCCESS: No unexpected failures.'
|
||||
print('\nSUCCESS: No unexpected failures.')
|
||||
|
||||
return tests_ok
|
||||
|
||||
@ -433,7 +429,7 @@ def PerformComparison(expected, actual, ignore_missing_failures):
|
||||
def CheckExpectedResults():
|
||||
srcdir, target = GetBuildData()
|
||||
manifest_path = GetManifestPath(srcdir, target, True)
|
||||
print 'Manifest: %s' % manifest_path
|
||||
print('Manifest: %s' % manifest_path)
|
||||
manifest = GetManifest(manifest_path)
|
||||
sum_files = GetSumFiles(_OPTIONS.results, _OPTIONS.build_dir)
|
||||
actual = GetResults(sum_files)
|
||||
@ -448,16 +444,16 @@ def CheckExpectedResults():
|
||||
def ProduceManifest():
|
||||
(srcdir, target) = GetBuildData()
|
||||
manifest_path = GetManifestPath(srcdir, target, False)
|
||||
print 'Manifest: %s' % manifest_path
|
||||
print('Manifest: %s' % manifest_path)
|
||||
if os.path.exists(manifest_path) and not _OPTIONS.force:
|
||||
Error('Manifest file %s already exists.\nUse --force to overwrite.' %
|
||||
manifest_path)
|
||||
|
||||
sum_files = GetSumFiles(_OPTIONS.results, _OPTIONS.build_dir)
|
||||
actual = GetResults(sum_files)
|
||||
manifest_file = open(manifest_path, 'w')
|
||||
manifest_file = open(manifest_path, encoding='latin-1', mode='w')
|
||||
for result in sorted(actual):
|
||||
print result
|
||||
print(result)
|
||||
manifest_file.write('%s\n' % result)
|
||||
manifest_file.close()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user