diff options
-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", """\ |