mirror of
https://github.com/python/cpython.git
synced 2025-08-31 14:07:50 +00:00
gh-113008: Correct argparse usage output for required, mutually exclusive groups (GH-113085)
This commit is contained in:
parent
4a5e4aade4
commit
d21b0b5d36
3 changed files with 26 additions and 2 deletions
|
@ -2902,6 +2902,29 @@ class TestMutuallyExclusiveGroupErrors(TestCase):
|
|||
'''
|
||||
self.assertEqual(parser.format_help(), textwrap.dedent(expected))
|
||||
|
||||
def test_optional_order(self):
|
||||
parser = ErrorRaisingArgumentParser(prog='PROG')
|
||||
group = parser.add_mutually_exclusive_group(required=True)
|
||||
group.add_argument('--foo')
|
||||
group.add_argument('bar', nargs='?')
|
||||
expected = '''\
|
||||
usage: PROG [-h] (--foo FOO | bar)
|
||||
|
||||
positional arguments:
|
||||
bar
|
||||
|
||||
options:
|
||||
-h, --help show this help message and exit
|
||||
--foo FOO
|
||||
'''
|
||||
self.assertEqual(parser.format_help(), textwrap.dedent(expected))
|
||||
|
||||
parser = ErrorRaisingArgumentParser(prog='PROG')
|
||||
group = parser.add_mutually_exclusive_group(required=True)
|
||||
group.add_argument('bar', nargs='?')
|
||||
group.add_argument('--foo')
|
||||
self.assertEqual(parser.format_help(), textwrap.dedent(expected))
|
||||
|
||||
def test_help_subparser_all_mutually_exclusive_group_members_suppressed(self):
|
||||
self.maxDiff = None
|
||||
parser = ErrorRaisingArgumentParser(prog='PROG')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue