summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coverage/cmdline.py2
-rw-r--r--tests/test_process.py9
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."""