bpo-40862: Raise TypeError when const is given to argparse.BooleanOptionalAction (GH-20623)

This commit is contained in:
Rémi Lapeyre 2020-06-06 00:00:42 +02:00 committed by GitHub
parent 45af786e11
commit b084d1b97e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -857,7 +857,6 @@ class BooleanOptionalAction(Action):
def __init__(self, def __init__(self,
option_strings, option_strings,
dest, dest,
const=None,
default=None, default=None,
type=None, type=None,
choices=None, choices=None,

View File

@ -700,6 +700,14 @@ class TestBooleanOptionalAction(ParserTestCase):
('--no-foo --foo', NS(foo=True)), ('--no-foo --foo', NS(foo=True)),
] ]
def test_const(self):
# See bpo-40862
parser = argparse.ArgumentParser()
with self.assertRaises(TypeError) as cm:
parser.add_argument('--foo', const=True, action=argparse.BooleanOptionalAction)
self.assertIn("got an unexpected keyword argument 'const'", str(cm.exception))
class TestBooleanOptionalActionRequired(ParserTestCase): class TestBooleanOptionalActionRequired(ParserTestCase):
"""Tests BooleanOptionalAction required""" """Tests BooleanOptionalAction required"""