[llvm] r198766 - lit: Provide file location in cfg error messages
NAKAMURA Takumi
geek4civic at gmail.com
Sat Jan 11 01:10:03 PST 2014
I wonder execfile() would be py3-incompatible...??
2014/1/8 Alp Toker <alp at nuanti.com>:
> Author: alp
> Date: Wed Jan 8 08:20:59 2014
> New Revision: 198766
>
> URL: http://llvm.org/viewvc/llvm-project?rev=198766&view=rev
> Log:
> 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
>
> Modified:
> llvm/trunk/utils/lit/lit/TestingConfig.py
>
> Modified: llvm/trunk/utils/lit/lit/TestingConfig.py
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/TestingConfig.py?rev=198766&r1=198765&r2=198766&view=diff
> ==============================================================================
> --- llvm/trunk/utils/lit/lit/TestingConfig.py (original)
> +++ llvm/trunk/utils/lit/lit/TestingConfig.py Wed Jan 8 08:20:59 2014
> @@ -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:
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list