diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-05-09 10:40:39 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-05-09 10:40:39 -0400 |
commit | f77eb761dcfb51dacdc94ccd089a10b298e78c13 (patch) | |
tree | a6654261b9447ce42ea499a5d1edce769664996b | |
parent | bd0921599e5c93271806fb7699f1e786c8dad6ac (diff) | |
download | python-coveragepy-f77eb761dcfb51dacdc94ccd089a10b298e78c13.tar.gz |
Also make __builtins__ available in main programs.
-rw-r--r-- | coverage/execfile.py | 3 | ||||
-rw-r--r-- | test/test_execfile.py | 5 | ||||
-rw-r--r-- | test/try_execfile.py | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/coverage/execfile.py b/coverage/execfile.py index e7d2c77..d6bcdce 100644 --- a/coverage/execfile.py +++ b/coverage/execfile.py @@ -15,7 +15,8 @@ def run_python_file(filename, args): main_mod = imp.new_module('__main__') sys.modules['__main__'] = main_mod main_mod.__file__ = filename - + main_mod.__builtins__ = sys.modules['__builtin__'] + # Set sys.argv and the first path element properly. old_argv = sys.argv old_path0 = sys.path[0] diff --git a/test/test_execfile.py b/test/test_execfile.py index fc5b52a..de1a575 100644 --- a/test/test_execfile.py +++ b/test/test_execfile.py @@ -33,12 +33,15 @@ class RunTest(CoverageTest): # Argv should have the proper values. self.assertEqual(mod_globs['argv'], [tryfile, "arg1", "arg2"]) + # __builtins__ should have the right values, like open(). + self.assertEqual(mod_globs['__builtins__.has_open'], True) + def test_no_extra_file(self): # Make sure that running a file doesn't create an extra compiled file. self.makeFile("xxx", """\ print "a non-.py file!" """) - + self.assertEqual(os.listdir("."), ["xxx"]) run_python_file("xxx", ["xxx"]) self.assertEqual(os.listdir("."), ["xxx"]) diff --git a/test/try_execfile.py b/test/try_execfile.py index f66b9c5..9a8804a 100644 --- a/test/try_execfile.py +++ b/test/try_execfile.py @@ -15,6 +15,8 @@ globals_to_check = { '__name__': __name__, '__file__': __file__, '__doc__': __doc__, + '__builtins__.has_open': hasattr(__builtins__, 'open'), + '__builtins__.dir': dir(__builtins__), 'DATA': DATA, 'FN_VAL': FN_VAL, '__main__.DATA': getattr(__main__, "DATA", "nothing"), |