diff options
author | Alp Toker <alp@nuanti.com> | 2014-01-08 14:20:59 +0000 |
---|---|---|
committer | Alp Toker <alp@nuanti.com> | 2014-01-08 14:20:59 +0000 |
commit | 598887906b975dbb28dd73600763edda1aad7c45 (patch) | |
tree | 522c05b6009b3d54544b83d2dabebdb6ee46b182 | |
parent | 38b362617c678f959f54a53becee9df693d25b60 (diff) | |
download | llvm-598887906b975dbb28dd73600763edda1aad7c45.tar.gz llvm-598887906b975dbb28dd73600763edda1aad7c45.tar.bz2 llvm-598887906b975dbb28dd73600763edda1aad7c45.tar.xz |
lit: Provide file location in cfg error messages
Python doesn't do a good job at diagnosing string exec() so use execfile()
where available.
This should be a timesaver when trying to get to the bottom of build bot
failures.
Before:
File "llvm/utils/lit/lit/TestingConfig.py", line 93, in load_from_path
exec("exec data in cfg_globals")
File "<string>", line 1, in <module>
File "<string>", line 194, in <module>
NameError: name 'typo' is not defined
After:
File "llvm/utils/lit/lit/TestingConfig.py", line 95, in load_from_path
execfile(path, cfg_globals)
File "clang/test/lit.cfg", line 194, in <module>
typo
^~~~
NameError: name 'typo' is not defined
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198766 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | utils/lit/lit/TestingConfig.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/utils/lit/lit/TestingConfig.py b/utils/lit/lit/TestingConfig.py index 95405e9324..92f9a82358 100644 --- a/utils/lit/lit/TestingConfig.py +++ b/utils/lit/lit/TestingConfig.py @@ -1,7 +1,7 @@ import os import sys -PY2 = sys.version_info[0] < 3 +OldPy = sys.version_info[0] == 2 and sys.version_info[1] < 6 class TestingConfig: """" @@ -74,12 +74,14 @@ class TestingConfig: """ # Load the config script data. - f = open(path) - try: - data = f.read() - except: - litConfig.fatal('unable to load config file: %r' % (path,)) - f.close() + data = None + if OldPy: + 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()) @@ -87,10 +89,10 @@ class TestingConfig: cfg_globals['lit_config'] = litConfig cfg_globals['__file__'] = path try: - if PY2: + if OldPy: exec("exec data in cfg_globals") else: - exec(data, cfg_globals) + execfile(path, cfg_globals) if litConfig.debug: litConfig.note('... loaded config %r' % path) except SystemExit: |