* testsuite-management/validate_failures.py: Store options in global
authordevans <devans@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Nov 2012 21:35:07 +0000 (21:35 +0000)
committerdevans <devans@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Nov 2012 21:35:07 +0000 (21:35 +0000)
variable _OPTIONS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193967 138bc75d-0d04-0410-961f-82ee72b054a4

contrib/ChangeLog
contrib/testsuite-management/validate_failures.py

index 386fd81..c5b77e4 100644 (file)
@@ -1,5 +1,8 @@
 2012-11-29  Doug Evans  <dje@google.com>
 
+       * testsuite-management/validate_failures.py: Store options in global
+       variable _OPTIONS.
+
        * testsuite-management/validate_failures.py: Rename variable
        manifest_name to manifest_path everywhere.
 
index d9eb731..24b61aa 100755 (executable)
@@ -60,6 +60,9 @@ _VALID_TEST_RESULTS = [ 'FAIL', 'UNRESOLVED', 'XPASS', 'ERROR' ]
 # target triple used during the build.
 _MANIFEST_PATH_PATTERN = '%s/contrib/testsuite-management/%s.xfail'
 
+# The options passed to the program.
+_OPTIONS = None
+
 def Error(msg):
   print >>sys.stderr, '\nerror: %s' % msg
   sys.exit(1)
@@ -229,7 +232,7 @@ def GetManifest(manifest_path):
   If no manifest file exists for this target, it returns an empty set.
   """
   if os.path.exists(manifest_path):
-    return ParseManifest(manifest_path)
+    return ParseSummary(manifest_path)
   else:
     return set()
 
@@ -281,12 +284,12 @@ def CompareResults(manifest, actual):
   return actual_vs_manifest, manifest_vs_actual
 
 
-def GetBuildData(options):
-  target = GetMakefileValue('%s/Makefile' % options.build_dir, 'target_alias=')
-  srcdir = GetMakefileValue('%s/Makefile' % options.build_dir, 'srcdir =')
-  if not ValidBuildDirectory(options.build_dir, target):
+def GetBuildData():
+  target = GetMakefileValue('%s/Makefile' % _OPTIONS.build_dir, 'target_alias=')
+  srcdir = GetMakefileValue('%s/Makefile' % _OPTIONS.build_dir, 'srcdir =')
+  if not ValidBuildDirectory(_OPTIONS.build_dir, target):
     Error('%s is not a valid GCC top level build directory.' %
-          options.build_dir)
+          _OPTIONS.build_dir)
   print 'Source directory: %s' % srcdir
   print 'Build target:     %s' % target
   return srcdir, target, True
@@ -329,40 +332,40 @@ def PerformComparison(expected, actual, ignore_missing_failures):
   return tests_ok
 
 
-def CheckExpectedResults(options):
-  if not options.manifest:
-    (srcdir, target, valid_build) = GetBuildData(options)
+def CheckExpectedResults():
+  if not _OPTIONS.manifest:
+    (srcdir, target, valid_build) = GetBuildData()
     if not valid_build:
       return False
     manifest_path = _MANIFEST_PATH_PATTERN % (srcdir, target)
   else:
-    manifest_path = options.manifest
+    manifest_path = _OPTIONS.manifest
     if not os.path.exists(manifest_path):
       Error('Manifest file %s does not exist.' % manifest_path)
 
   print 'Manifest:         %s' % manifest_path
   manifest = GetManifest(manifest_path)
-  sum_files = GetSumFiles(options.results, options.build_dir)
+  sum_files = GetSumFiles(_OPTIONS.results, _OPTIONS.build_dir)
   actual = GetResults(sum_files)
 
-  if options.verbosity >= 1:
+  if _OPTIONS.verbosity >= 1:
     PrintSummary('Tests expected to fail', manifest)
     PrintSummary('\nActual test results', actual)
 
-  return PerformComparison(manifest, actual, options.ignore_missing_failures)
+  return PerformComparison(manifest, actual, _OPTIONS.ignore_missing_failures)
 
 
-def ProduceManifest(options):
-  (srcdir, target, valid_build) = GetBuildData(options)
+def ProduceManifest():
+  (srcdir, target, valid_build) = GetBuildData()
   if not valid_build:
     return False
 
   manifest_path = _MANIFEST_PATH_PATTERN % (srcdir, target)
-  if os.path.exists(manifest_path) and not options.force:
+  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)
+  sum_files = GetSumFiles(_OPTIONS.results, _OPTIONS.build_dir)
   actual = GetResults(sum_files)
   manifest_file = open(manifest_path, 'w')
   for result in sorted(actual):
@@ -373,18 +376,18 @@ def ProduceManifest(options):
   return True
 
 
-def CompareBuilds(options):
-  (srcdir, target, valid_build) = GetBuildData(options)
+def CompareBuilds():
+  (srcdir, target, valid_build) = GetBuildData()
   if not valid_build:
     return False
 
-  sum_files = GetSumFiles(options.results, options.build_dir)
+  sum_files = GetSumFiles(_OPTIONS.results, _OPTIONS.build_dir)
   actual = GetResults(sum_files)
 
-  clean_sum_files = GetSumFiles(options.results, options.clean_build)
+  clean_sum_files = GetSumFiles(_OPTIONS.results, _OPTIONS.clean_build)
   clean = GetResults(clean_sum_files)
 
-  return PerformComparison(clean, actual, options.ignore_missing_failures)
+  return PerformComparison(clean, actual, _OPTIONS.ignore_missing_failures)
 
 
 def Main(argv):
@@ -430,14 +433,15 @@ def Main(argv):
                     '.sum files collected from the build directory).')
   parser.add_option('--verbosity', action='store', dest='verbosity',
                     type='int', default=0, help='Verbosity level (default = 0)')
-  (options, _) = parser.parse_args(argv[1:])
+  global _OPTIONS
+  (_OPTIONS, _) = parser.parse_args(argv[1:])
 
-  if options.produce_manifest:
-    retval = ProduceManifest(options)
-  elif options.clean_build:
-    retval = CompareBuilds(options)
+  if _OPTIONS.produce_manifest:
+    retval = ProduceManifest()
+  elif _OPTIONS.clean_build:
+    retval = CompareBuilds()
   else:
-    retval = CheckExpectedResults(options)
+    retval = CheckExpectedResults()
 
   if retval:
     return 0