8000 mutually exclusive group w/ all parameters argparse.SUPPRESS'd causes an assert · Issue #98666 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content
mutually exclusive group w/ all parameters argparse.SUPPRESS'd causes an assert #98666
Closed
@kenyee

Description

@kenyee

Bug report

state_group = parser.add_mutually_exclusive_group()
state_group.add_argument('--param1', nargs='?', const='default', metavar='NAME',
                         help=SUPPRESS)
state_group.add_argument('--param2', nargs='?', const='default', metavar='NAME',
                         help=SUPPRESS)

will cause an assert in
assert ' '.join(opt_parts) == opt_usage
of argparse.py

because the empty group [] is converted into two spaces
e.g.
[group1] [] [group 2]
gets converted to this by the opt_usage = format(optionals, groups) code above the assert:
[group1] [group 2]
and the two spaces don't match the single space of the assert

Your environment

  • CPython versions tested on: 3.10.4
  • Operating system and architecture: OSX, arm64

Metadata

Metadata

Assignees

No one assigned

    Labels

    stdlibPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or error

    Projects

    Status

    Doc issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0