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

login
register
mail settings
Submitter Diego Novillo
Date July 19, 2012, 2:35 p.m.
Message ID <20120719143503.GA17960@google.com>
Download mbox | patch
Permalink /patch/171954/
State New
Headers show

Comments

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

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