Fix --produce_manifest flag in validate_failures.py.

When I added the functionality to use other summary files for
reporting, I broke the generation of manifests. When sum files are
passed on, we need to use the list. Otherwise, we need to find summary
files in the build directory.

This patch factors out that logic into a new function and calls it
from both the reporting and generation routines.

Committed to trunk.

	* testsuite-management/validate_failures.py (CollectSumFiles):
	Rename from GetSumFiles.
	(GetSumFiles): Factor out of CheckExpectedResults.
	(CheckExpectedResults): Call it.
	(ProduceManifest): Call it.

From-SVN: r189662
This commit is contained in:
Diego Novillo 2012-07-19 10:35:18 -04:00 committed by Diego Novillo
parent 65e7bfe359
commit 29476fe162
2 changed files with 22 additions and 9 deletions

View File

@ -1,3 +1,11 @@
2012-07-19 Diego Novillo <dnovillo@google.com>
* testsuite-management/validate_failures.py (CollectSumFiles):
Rename from GetSumFiles.
(GetSumFiles): Factor out of CheckExpectedResults.
(CheckExpectedResults): Call it.
(ProduceManifest): Call it.
2012-07-18 Diego Novillo <dnovillo@google.com>
* testsuite-management/validate_failures.py: Fix

View File

@ -195,7 +195,7 @@ def GetManifest(manifest_name):
return set()
def GetSumFiles(builddir):
def CollectSumFiles(builddir):
sum_files = []
for root, dirs, files in os.walk(builddir):
if '.svn' in dirs:
@ -255,6 +255,16 @@ def PrintSummary(msg, summary):
print result
def GetSumFiles(results, build_dir):
if not results:
print 'Getting actual results from build'
sum_files = CollectSumFiles(build_dir)
else:
print 'Getting actual results from user-provided results'
sum_files = results.split()
return sum_files
def CheckExpectedResults(options):
if not options.manifest:
(srcdir, target, valid_build) = GetBuildData(options)
@ -268,13 +278,7 @@ def CheckExpectedResults(options):
print 'Manifest: %s' % manifest_name
manifest = GetManifest(manifest_name)
if not options.results:
print 'Getting actual results from build'
sum_files = GetSumFiles(options.build_dir)
else:
print 'Getting actual results from user-provided results'
sum_files = options.results.split()
sum_files = GetSumFiles(options.results, options.build_dir)
actual = GetResults(sum_files)
if options.verbosity >= 1:
@ -311,7 +315,8 @@ def ProduceManifest(options):
Error('Manifest file %s already exists.\nUse --force to overwrite.' %
manifest_name)
actual = GetResults(options.build_dir)
sum_files = GetSumFiles(options.results, options.build_dir)
actual = GetResults(sum_files)
with open(manifest_name, 'w') as manifest_file:
for result in sorted(actual):
print result