summaryrefslogtreecommitdiff
path: root/utils/lit/lit/TestingConfig.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils/lit/lit/TestingConfig.py')
-rw-r--r--utils/lit/lit/TestingConfig.py66
1 files changed, 32 insertions, 34 deletions
diff --git a/utils/lit/lit/TestingConfig.py b/utils/lit/lit/TestingConfig.py
index ec15f38fc9..8c619e15fc 100644
--- a/utils/lit/lit/TestingConfig.py
+++ b/utils/lit/lit/TestingConfig.py
@@ -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