[contrib] Fix --produce_manifest flag in validate_failures.py

Submitted by Diego Novillo on July 19, 2012, 2:35 p.m.

Details

Message ID 20120719143503.GA17960@google.com
State New
Headers show

Commit Message

Diego Novillo July 19, 2012, 2:35 p.m.
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.

Patch hide | download patch | download mbox

diff --git a/contrib/testsuite-management/validate_failures.py b/contrib/testsuite-management/validate_failures.py
index b2c52fc..c48e4c3 100755
--- a/contrib/testsuite-management/validate_failures.py
+++ b/contrib/testsuite-management/validate_failures.py
@@ -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