Issue #4629: getopt raises an error if an argument ends with = whereas getopt
doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long options).
This commit is contained in:
parent
a565874cc1
commit
eccc5facd3
|
@ -156,7 +156,7 @@ def do_longs(opts, opt, longopts, args):
|
|||
if not args:
|
||||
raise GetoptError('option --%s requires argument' % opt, opt)
|
||||
optarg, args = args[0], args[1:]
|
||||
elif optarg:
|
||||
elif optarg is not None:
|
||||
raise GetoptError('option --%s must not have an argument' % opt, opt)
|
||||
opts.append(('--' + opt, optarg or ''))
|
||||
return opts, args
|
||||
|
|
|
@ -173,6 +173,12 @@ class GetoptTests(unittest.TestCase):
|
|||
m = types.ModuleType("libreftest", s)
|
||||
run_doctest(m, verbose)
|
||||
|
||||
def test_issue4629(self):
|
||||
longopts, shortopts = getopt.getopt(['--help='], '', ['help='])
|
||||
self.assertEquals(longopts, [('--help', '')])
|
||||
longopts, shortopts = getopt.getopt(['--help=x'], '', ['help='])
|
||||
self.assertEquals(longopts, [('--help', 'x')])
|
||||
self.assertRaises(getopt.GetoptError, getopt.getopt, ['--help='], '', ['help'])
|
||||
|
||||
def test_main():
|
||||
run_unittest(GetoptTests)
|
||||
|
|
|
@ -473,6 +473,10 @@ C-API
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #4629: getopt raises an error if an argument ends with = whereas getopt
|
||||
doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long
|
||||
options).
|
||||
|
||||
- Issue #7989: Added pure python implementation of the `datetime`
|
||||
module. The C module is renamed to `_datetime` and if available,
|
||||
overrides all classes defined in datetime with fast C impementation.
|
||||
|
|
Loading…
Reference in New Issue