summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlp Toker <alp@nuanti.com>2014-01-08 14:20:59 +0000
committerAlp Toker <alp@nuanti.com>2014-01-08 14:20:59 +0000
commit598887906b975dbb28dd73600763edda1aad7c45 (patch)
tree522c05b6009b3d54544b83d2dabebdb6ee46b182
parent38b362617c678f959f54a53becee9df693d25b60 (diff)
downloadllvm-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.py20
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: