summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2011-10-30 23:09:39 -0400
committerNed Batchelder <ned@nedbatchelder.com>2011-10-30 23:09:39 -0400
commitbb50b8d5c6c50feb676bb5b5f6aecc247c94d7c5 (patch)
treec0bc101902c0845469aaa7da919ba946c0d89158
parent8f059350fda7801522e38e34c1e5851d2975fc7f (diff)
downloadpython-coveragepy-bb50b8d5c6c50feb676bb5b5f6aecc247c94d7c5.tar.gz
Make stuff work in other Python versions. Some stuff isn't *quite* right <2.6. #155
-rw-r--r--coverage/execfile.py3
-rw-r--r--test/test_process.py11
-rw-r--r--test/try_execfile.py7
3 files changed, 14 insertions, 7 deletions
diff --git a/coverage/execfile.py b/coverage/execfile.py
index 1c0048f..3283a3f 100644
--- a/coverage/execfile.py
+++ b/coverage/execfile.py
@@ -83,7 +83,8 @@ def run_python_file(filename, args, package=None):
main_mod = imp.new_module('__main__')
sys.modules['__main__'] = main_mod
main_mod.__file__ = filename
- main_mod.__package__ = package
+ if package:
+ main_mod.__package__ = package
main_mod.__builtins__ = BUILTINS
# Set sys.argv and the first path element properly.
diff --git a/test/test_process.py b/test/test_process.py
index 085ac13..b40eac1 100644
--- a/test/test_process.py
+++ b/test/test_process.py
@@ -279,11 +279,12 @@ class ProcessTest(CoverageTest):
out2 = self.run_command("python run_me.py")
self.assertMultiLineEqual(out, out2)
- def test_coverage_run_dashm_is_like_python_dashm(self):
- # These -m commands assume the coverage tree is on the path.
- out = self.run_command("coverage run -m test.try_execfile")
- out2 = self.run_command("python -m test.try_execfile")
- self.assertMultiLineEqual(out, out2)
+ if sys.version_info >= (2, 6): # Doesn't work in 2.5, and I don't care!
+ def test_coverage_run_dashm_is_like_python_dashm(self):
+ # These -m commands assume the coverage tree is on the path.
+ out = self.run_command("coverage run -m test.try_execfile")
+ out2 = self.run_command("python -m test.try_execfile")
+ self.assertMultiLineEqual(out, out2)
if hasattr(os, 'fork'):
def test_fork(self):
diff --git a/test/try_execfile.py b/test/try_execfile.py
index 825fdb7..9bbabd1 100644
--- a/test/try_execfile.py
+++ b/test/try_execfile.py
@@ -12,13 +12,18 @@ def my_function(a):
FN_VAL = my_function("fooey")
+try:
+ pkg = __package__
+except NameError:
+ pkg = "*No __package__*"
+
globals_to_check = {
'__name__': __name__,
'__file__': __file__,
'__doc__': __doc__,
'__builtins__.has_open': hasattr(__builtins__, 'open'),
'__builtins__.dir': dir(__builtins__),
- '__package__': __package__,
+ '__package__': pkg,
'DATA': DATA,
'FN_VAL': FN_VAL,
'__main__.DATA': getattr(__main__, "DATA", "nothing"),