[lit] Eliminate mustExist parameter from TestingConfig.frompath().
authorDaniel Dunbar <daniel@zuster.org>
Fri, 9 Aug 2013 00:09:02 +0000 (00:09 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 9 Aug 2013 00:09:02 +0000 (00:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188034 91177308-0d34-0410-b5e6-96231b3b80d8

utils/lit/lit/LitConfig.py
utils/lit/lit/TestingConfig.py
utils/lit/lit/discovery.py

index d493b33daa2a1926c44bb5b02cd7f50642f8b578..6e669d58b51cc1a89dac2b3d6d87775f05004bea 100644 (file)
@@ -72,8 +72,7 @@ class LitConfig:
         path."""
         if self.debug:
             self.note('load_config from %r' % path)
-        return lit.TestingConfig.TestingConfig.frompath(
-            path, config, self, mustExist = True)
+        return lit.TestingConfig.TestingConfig.frompath(path, config, self)
 
     def getBashPath(self):
         """getBashPath - Get the path to 'bash'"""
index ec15f38fc949e6d0c52fde826fc0b46e4df35f32..8c619e15fc0b5f8d48fa65e1ad990d615670ae17 100644 (file)
@@ -9,7 +9,7 @@ class TestingConfig:
     """
 
     @staticmethod
-    def frompath(path, config, litConfig, mustExist=True):
+    def frompath(path, config, litConfig):
         """
         frompath(path, config, litConfig, mustExist) -> TestingConfig
 
@@ -58,39 +58,37 @@ class TestingConfig:
                                    available_features = available_features,
                                    pipefail = True)
 
-        if os.path.exists(path):
-            # FIXME: Improve detection and error reporting of errors in the
-            # config file.
-            f = open(path)
-            cfg_globals = dict(globals())
-            cfg_globals['config'] = config
-            cfg_globals['lit'] = litConfig
-            cfg_globals['__file__'] = path
-            try:
-                data = f.read()
-                if PY2:
-                    exec("exec data in cfg_globals")
-                else:
-                    exec(data, cfg_globals)
-                if litConfig.debug:
-                    litConfig.note('... loaded config %r' % path)
-            except SystemExit:
-                e = sys.exc_info()[1]
-                # We allow normal system exit inside a config file to just
-                # return control without error.
-                if e.args:
-                    raise
-            except:
-                import traceback
-                litConfig.fatal(
-                    'unable to parse config file %r, traceback: %s' % (
-                        path, traceback.format_exc()))
-            f.close()
-        else:
-            if mustExist:
-                litConfig.fatal('unable to load config from %r ' % path)
-            elif litConfig.debug:
-                litConfig.note('... config not found  - %r' %path)
+        # Load the config script data.
+        f = open(path)
+        try:
+            data = f.read()
+        except:
+            litConfig.fatal('unable to load config file: %r' % (path,))
+        f.close()
+
+        # Execute the config script to initialize the object.
+        cfg_globals = dict(globals())
+        cfg_globals['config'] = config
+        cfg_globals['lit'] = litConfig
+        cfg_globals['__file__'] = path
+        try:
+            if PY2:
+                exec("exec data in cfg_globals")
+            else:
+                exec(data, cfg_globals)
+            if litConfig.debug:
+                litConfig.note('... loaded config %r' % path)
+        except SystemExit:
+            e = sys.exc_info()[1]
+            # We allow normal system exit inside a config file to just
+            # return control without error.
+            if e.args:
+                raise
+        except:
+            import traceback
+            litConfig.fatal(
+                'unable to parse config file %r, traceback: %s' % (
+                    path, traceback.format_exc()))
 
         config.finish(litConfig)
         return config
index afcee58fba7a3f461677f938f758aae29a146e87..c5f48a69c91d1f0a48cfc3c413b55b1fe4dde775 100644 (file)
@@ -42,7 +42,7 @@ def getTestSuite(item, litConfig, cache):
         if litConfig.debug:
             litConfig.note('loading suite config %r' % cfgpath)
 
-        cfg = TestingConfig.frompath(cfgpath, None, litConfig, mustExist = True)
+        cfg = TestingConfig.frompath(cfgpath, None, litConfig)
         source_root = os.path.realpath(cfg.test_source_root or path)
         exec_root = os.path.realpath(cfg.test_exec_root or path)
         return Test.TestSuite(cfg.name, source_root, exec_root, cfg), ()