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 | 9e628916f616aecffe9b28e4e526e3a88f04fc96 (patch) | |
tree | bd0a9b30e797ac81d13a0cf585ea6f3024e2bfa4 /llvm/utils/lit | |
parent | b8c0adeac81e21c5e4490ad2365c0364141577bd (diff) | |
download | bcm5719-llvm-9e628916f616aecffe9b28e4e526e3a88f04fc96.tar.gz bcm5719-llvm-9e628916f616aecffe9b28e4e526e3a88f04fc96.zip |
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
llvm-svn: 198766
Diffstat (limited to 'llvm/utils/lit')
-rw-r--r-- | llvm/utils/lit/lit/TestingConfig.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/llvm/utils/lit/lit/TestingConfig.py b/llvm/utils/lit/lit/TestingConfig.py index 95405e93244..92f9a82358e 100644 --- a/llvm/utils/lit/lit/TestingConfig.py +++ b/llvm/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: |