diff options
-rw-r--r-- | coverage/cmdline.py | 2 | ||||
-rw-r--r-- | tests/test_process.py | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py index fdf1c3d5..e2b79fef 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -399,6 +399,8 @@ class CoverageScript(object): self.coverage = None self.program_name = os.path.basename(sys.argv[0]) + if self.program_name == '__main__.py': + self.program_name = 'coverage' if env.WINDOWS: # entry_points={'console_scripts':...} on Windows makes files # called coverage.exe, coverage3.exe, and coverage-3.5.exe. These diff --git a/tests/test_process.py b/tests/test_process.py index 55dc3b13..e40c4dcb 100644 --- a/tests/test_process.py +++ b/tests/test_process.py @@ -733,6 +733,15 @@ class ProcessTest(CoverageTest): "Coverage.py warning: Module foo was previously imported, but not measured.\n" ) + def test_module_name(self): + if sys.version_info < (2, 7): + # Python 2.6 thinks that coverage is a package that can't be + # executed + self.skip("-m doesn't work the same < Python 2.7") + # https://bitbucket.org/ned/coveragepy/issues/478/help-shows-silly-program-name-when-running + out = self.run_command("python -m coverage") + self.assertIn("Use 'coverage help' for help", out) + class AliasedCommandTest(CoverageTest): """Tests of the version-specific command aliases.""" |