summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBen Finney <ben@benfinney.id.au>2017-10-19 18:56:39 -0400
committerBen Finney <ben@benfinney.id.au>2017-10-19 18:56:39 -0400
commit26c4ba8f7bad145a2db986a68441265939f053f7 (patch)
tree4aeec074d77277200e06085ea8f1f51e887016cf /tests
parent00bf2f8272a1a61619314b3038318af89db86eea (diff)
downloadpython-coveragepy-git-26c4ba8f7bad145a2db986a68441265939f053f7.tar.gz
Get the command name from the file path of the first command-line argument.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_cmdline.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py
index 2378887a..d7b5d307 100644
--- a/tests/test_cmdline.py
+++ b/tests/test_cmdline.py
@@ -642,6 +642,30 @@ class CmdLineStdoutTest(BaseCmdLineTest):
self.assertIn("without C extension", out)
self.assertLess(out.count("\n"), 4)
+ def test_help_contains_command_name(self):
+ """ Command name should be present in help output. """
+ fake_command_path = "lorem/ipsum/dolor"
+ expected_command_name = "dolor"
+ fake_argv = [fake_command_path, "sit", "amet"]
+ with mock.patch.object(sys, 'argv', new=fake_argv):
+ self.command_line("help")
+ self.assertIn(expected_command_name, out)
+
+ def test_help_contains_command_name_from_package(self):
+ """
+ Command package name should be present in help output.
+
+ When the main module is actually a package's `__main__` module, the resulting command line
+ has the `__main__.py` file's patch as the command name. Instead, the command name should be
+ derived from the package name.
+ """
+ fake_command_path = "lorem/ipsum/dolor/__main__.py"
+ expected_command_name = "dolor"
+ fake_argv = [fake_command_path, "sit", "amet"]
+ with mock.patch.object(sys, 'argv', new=fake_argv):
+ self.command_line("help")
+ self.assertIn(expected_command_name, out)
+
def test_help(self):
self.command_line("help")
out = self.stdout()