summaryrefslogtreecommitdiff
path: root/tests/test_process.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_process.py')
-rw-r--r--tests/test_process.py43
1 files changed, 28 insertions, 15 deletions
diff --git a/tests/test_process.py b/tests/test_process.py
index 8e31bd18..8554eb54 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -320,25 +320,38 @@ class ProcessTest(CoverageTest):
def test_coverage_run_is_like_python(self):
tryfile = os.path.join(here, "try_execfile.py")
self.make_file("run_me.py", open(tryfile).read())
- out = self.run_command("coverage run run_me.py")
- out2 = self.run_command("python run_me.py")
- self.assertMultiLineEqual(out, out2)
+ out_cov = self.run_command("coverage run run_me.py")
+ out_py = self.run_command("python run_me.py")
+ self.assertMultiLineEqual(out_cov, out_py)
- if sys.version_info >= (2, 6): # Doesn't work in 2.5, and I don't care!
+ if sys.version_info >= (2, 6):
+ # Doesn't work in 2.5, and I don't care! For some reason, python -m
+ # in 2.5 has __builtins__ as a dictionary instead of a module?
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 tests.try_execfile")
- out2 = self.run_command("python -m tests.try_execfile")
- self.assertMultiLineEqual(out, out2)
-
- if 0: # Expected failure
- # For https://bitbucket.org/ned/coveragepy/issue/207
+ out_cov = self.run_command("coverage run -m tests.try_execfile")
+ out_py = self.run_command("python -m tests.try_execfile")
+ self.assertMultiLineEqual(out_cov, out_py)
+
+ def test_coverage_run_dashm_is_like_python_dashm_off_path(self):
+ # https://bitbucket.org/ned/coveragepy/issue/242
+ tryfile = os.path.join(here, "try_execfile.py")
+ self.make_file("sub/__init__.py", "")
+ self.make_file("sub/run_me.py", open(tryfile).read())
+ out_cov = self.run_command("coverage run -m sub.run_me")
+ out_py = self.run_command("python -m sub.run_me")
+ self.assertMultiLineEqual(out_cov, out_py)
+
+ if sys.version_info >= (2, 7):
+ # Coverage isn't bug-for-bug compatible in the behavior of -m for
+ # Pythons < 2.7
def test_coverage_run_dashm_is_like_python_dashm_with__main__207(self):
- self.make_file("package/__init__.py") # empty
- self.make_file("package/__main__.py", "#\n") # empty
- out = self.run_command("coverage run -m package")
- out2 = self.run_command("python -m package")
- self.assertMultiLineEqual(out, out2)
+ # https://bitbucket.org/ned/coveragepy/issue/207
+ self.make_file("package/__init__.py", "print('init')")
+ self.make_file("package/__main__.py", "print('main')")
+ out_cov = self.run_command("coverage run -m package")
+ out_py = self.run_command("python -m package")
+ self.assertMultiLineEqual(out_cov, out_py)
if hasattr(os, 'fork'):
def test_fork(self):