lit: Provide source locations in cfg files with older Python versions
authorAlp Toker <alp@nuanti.com>
Sat, 11 Jan 2014 14:34:18 +0000 (14:34 +0000)
committerAlp Toker <alp@nuanti.com>
Sat, 11 Jan 2014 14:34:18 +0000 (14:34 +0000)
This commit prospectively brings the benefits of r198766 to older supported
Python versions (2.5+).

Tested with Python 2.6, 2.7, 3.1 and 3.3 (!)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199009 91177308-0d34-0410-b5e6-96231b3b80d8

utils/lit/lit/TestingConfig.py

index 97e0de30470ae425c661cf85f3c59a68b6ad4107..eb890674a74d1ba5d92f6a652d778f551963aaec 100644 (file)
@@ -75,12 +75,13 @@ class TestingConfig:
 
         # Load the config script data.
         data = None
-        f = open(path)
-        try:
-            data = f.read()
-        except:
-            litConfig.fatal('unable to load config file: %r' % (path,))
-        f.close()
+        if not 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())
@@ -89,7 +90,7 @@ class TestingConfig:
         cfg_globals['__file__'] = path
         try:
             if OldPy:
-                exec("exec data in cfg_globals")
+                execfile(path, cfg_globals)
             else:
                 exec(compile(data, path, 'exec'), cfg_globals, None)
             if litConfig.debug: