diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2012-11-08 22:16:35 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2012-11-08 22:16:35 -0500 |
commit | 48bcf7bb7f6d52ea0672fbadd3bd4b05a43960c1 (patch) | |
tree | fd2368c6eec9f4e0a357ea28fea6d106455c668b | |
parent | 74adfa69b41443b3b83d6b14c2fc57fffb638384 (diff) | |
download | python-coveragepy-git-48bcf7bb7f6d52ea0672fbadd3bd4b05a43960c1.tar.gz |
A work-in-progress for #207, a minor improvement, and a commented-out test that shows the problem.
-rw-r--r-- | coverage/execfile.py | 2 | ||||
-rw-r--r-- | test/test_process.py | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/coverage/execfile.py b/coverage/execfile.py index 3283a3f7..587c2d3c 100644 --- a/coverage/execfile.py +++ b/coverage/execfile.py @@ -110,7 +110,7 @@ def run_python_file(filename, args, package=None): # We have the source. `compile` still needs the last line to be clean, # so make sure it is, then compile a code object from it. - if source[-1] != '\n': + if not source or source[-1] != '\n': source += '\n' code = compile(source, filename, "exec") diff --git a/test/test_process.py b/test/test_process.py index c1134946..473dafb1 100644 --- a/test/test_process.py +++ b/test/test_process.py @@ -290,6 +290,15 @@ class ProcessTest(CoverageTest): out2 = self.run_command("python -m test.try_execfile") self.assertMultiLineEqual(out, out2) + if 0: + # For https://bitbucket.org/ned/coveragepy/issue/207 + def test_coverage_run_dashm_is_like_python_dashm_with__main__(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) + if hasattr(os, 'fork'): def test_fork(self): self.make_file("fork.py", """\ |