summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_argparse.py
Commit message (Collapse)AuthorAgeFilesLines
* [3.8] bpo-39546: argparse: Honor allow_abbrev=False for specified ↵Miss Islington (bot)2020-02-181-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prefix_chars (GH-18337) (GH-18543) When `allow_abbrev` was first added, disabling the abbreviation of long options broke the grouping of short flags ([bpo-26967](https://bugs.python.org/issue26967)). As a fix, b1e4d1b603 (contained in v3.8) ignores `allow_abbrev=False` for a given argument string if the string does _not_ start with "--" (i.e. it doesn't look like a long option). This fix, however, doesn't take into account that long options can start with alternative characters specified via `prefix_chars`, introducing a regression: `allow_abbrev=False` has no effect on long options that start with an alternative prefix character. The most minimal fix would be to replace the "starts with --" check with a "starts with two prefix_chars characters". But `_get_option_tuples` already distinguishes between long and short options, so let's instead piggyback off of that check by moving the `allow_abbrev` condition into `_get_option_tuples`. https://bugs.python.org/issue39546 (cherry picked from commit 8edfc47baec7ff4cb1b9db83dd35c8ffc1d498a4) Co-authored-by: Kyle Meyer <kyle@kyleam.com> https://bugs.python.org/issue39546 Automerge-Triggered-By: @encukou
* [3.8] bpo-29553: Fix ArgumentParser.format_usage() for mutually exclusive ↵Raymond Hettinger2019-08-301-0/+40
| | | | groups (GH-14976) (GH-15494) (GH-15624)
* bpo-16970: Adding error message for invalid args (GH-14844)Miss Islington (bot)2019-08-021-1/+29
| | | | | | | | | | BPO -16970: Adding error message for invalid args Applied the patch argparse-v2 patch issue 16970, ran patch check and the test suite, test_argparse with 0 errors https://bugs.python.org/issue16970 (cherry picked from commit 4b3e97592376d5f8a3b75192b399a2da1be642cb) Co-authored-by: tmblweed <tmblweed@users.noreply.github.com>
* bpo-26967: fix flag grouping with allow_abbrev=False (GH-14316) (GH-14759)Miss Islington (bot)2019-07-141-0/+19
| | | | | | | | | | | | | The `allow_abbrev` option for ArgumentParser is documented and intended to disable support for unique prefixes of --options, which may sometimes be ambiguous due to deferred parsing. However, the initial implementation also broke parsing of grouped short flags, such as `-ab` meaning `-a -b` (or `-a=b`). Checking the argument for a leading `--` before rejecting it fixes this. This was prompted by pytest-dev/pytestGH-5469, so a backport to at least 3.8 would be great :smile: And this is my first PR to CPython, so please let me know if I've missed anything! https://bugs.python.org/issue26967 (cherry picked from commit dffca9e925ee5c3072663cbe8d4d4768406d5307) Co-authored-by: Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com>
* Remove unused imports in tests (GH-14518) (GH-14520)Victor Stinner2019-07-011-1/+0
| | | (cherry picked from commit 8f4ef3b019ce380022018587571b0f970e668de3)
* bpo-37150: Throw ValueError if FileType class object was passed in ↵Miss Islington (bot)2019-06-071-0/+18
| | | | | | | | | | | | | | | | add_argument (GH-13805) There is a possibility that someone (like me) accidentally will omit parentheses with `FileType` arguments after `FileType`, and parser will contain wrong file until someone will try to use it. Example: ```python parser = argparse.ArgumentParser() parser.add_argument('-x', type=argparse.FileType) ``` https://bugs.python.org/issue37150 (cherry picked from commit 03d5831a2d62c68654ec223168e574cd546efbf6) Co-authored-by: zygocephalus <grrrr@protonmail.com>
* bpo-23378: Add an extend action to argparse (GH-13305)Batuhan Taşkaya2019-05-211-0/+9
| | | | | | Add an extend action to argparse https://bugs.python.org/issue23378
* bpo-22831: Use "with" to avoid possible fd leaks in tests (part 2). (GH-10929)Serhiy Storchaka2019-03-051-12/+8
|
* bpo-34582: Adds JUnit XML output for regression tests (GH-9210)Steve Dower2018-09-181-4/+14
|
* bpo-13041: Use shutil.get_terminal_size() in argparse.HelpFormatter (GH-8459)Berker Peksag2018-07-251-2/+3
|
* bpo-11874: fix assertion failure in argparse metavar handling (GH-1826)wim glenn2018-06-081-9/+33
| | | | | | - bugfix and test for fragile metavar handling in argparse (see bpo-24089, bpo-14046, bpo-25058, bpo-11874) - also fixes some incorrect tests that did not make 1-element tuples correctly
* bpo-33109: argparse subparsers are once again not required by default (GH-6919)Ned Deily2018-05-241-1/+3
| | | | | | | | | bpo-26510 in 3.7.0a2 changed the behavior of argparse to make subparsers required by default, returning to the behavior of 2.7 and 3.2. The behavior was changed in 3.3 to be no longer required. While it might make more sense to have the default to required, compatibility with 3.3 through 3.6 is probably less disruptive than trying to reintroduce compatibility with 2.7 at this point. This change restores the 3.6 behavior.
* bpo-26510: make argparse subparsers required by default (#3027)Anthony Sottile2017-09-201-1/+36
| | | | | | This fixes a regression from Python 2. To get optional subparsers, use the new parameter ``add_subparsers(required=False)``. Patch by Anthony Sottile.
* bpo-14191 Add parse_intermixed_args. (#3319)R. David Murray2017-09-071-0/+87
| | | This adds support for parsing a command line where options and positionals are intermixed as is common in many unix commands. This is paul.j3's patch with a few tweaks.
* bpo-29783: Replace codecs.open() with io.open() (#599)Victor Stinner2017-06-161-1/+1
|
* Issue #29290: Merge 3.5.Xiang Zhang2017-01-221-0/+17
|\
| * Issue #29290: argparse help messages won't wrap at non-breaking spaces.Xiang Zhang2017-01-221-0/+17
| |
* | Issue #28300: Merge from 3.5Berker Peksag2016-09-281-1/+1
|\ \ | |/
| * Issue #28300: Fix typos, patch by Shlomi FishBerker Peksag2016-09-281-1/+1
| |
* | Issue #12713: reverted fix pending further discussion.Vinay Sajip2016-08-231-65/+27
| |
* | Closes #12713: Allowed abbreviation of subcommands in argparse.Vinay Sajip2016-08-181-27/+65
| |
* | Merge typo fixes from 3.5Martin Panter2016-04-051-5/+5
|\ \ | |/
| * Fix typos in documentation and commentsMartin Panter2016-04-051-5/+5
| |
* | Merge typo and grammar fixes from 3.5Martin Panter2015-11-141-1/+1
|\ \ | |/
| * Merge typo and grammar fixes from 3.4 into 3.5Martin Panter2015-11-141-1/+1
| |\
| | * Fix a few grammar problems in the documentation and commentsMartin Panter2015-11-141-1/+1
| | |
* | | Issue #24360: Improve __repr__ of argparse.Namespace() for invalid identifiers.Berker Peksag2015-07-291-0/+15
|/ / | | | | | | Patch by Matthias Bussonnier.
* | Issue #23062: Add a test for suppressing --version with argparse.SUPPRESS.Berker Peksag2015-04-101-28/+26
|\ \ | |/ | | | | TestHelpVersionOptional was redundant.
| * Issue #23062: Add a test for suppressing --version with argparse.SUPPRESS.Berker Peksag2015-04-101-28/+26
| | | | | | | | TestHelpVersionOptional was redundant.
* | Issue #14910: Add allow_abbrev parameter to argparse.ArgumentParser.Berker Peksag2015-02-131-0/+33
| | | | | | | | Patch by Jonathan Paugh, Steven Bethard, paul j3 and Daniel Eriksson.
* | Issue #23326: Removed __ne__ implementations. Since fixing default __ne__Serhiy Storchaka2015-01-311-3/+0
| | | | | | | | implementation in issue #21408 they are redundant.
* | merge 3.4 (#23221)Benjamin Peterson2015-01-131-1/+1
|\ \ | |/
| * fix instances of consecutive articles (closes #23221)Benjamin Peterson2015-01-131-1/+1
| | | | | | | | Patch by Karan Goel.
* | Merge: #9351: set_defaults on subparser is no longer ignored if set on parent.R David Murray2014-10-171-0/+7
|\ \ | |/
| * #9351: set_defaults on subparser is no longer ignored if set on parent.R David Murray2014-10-171-0/+7
| | | | | | | | | | | | | | | | Before, if a default was set on the parent parser, any default for that variable set via set_defaults on a subparser would be ignored. Now the subparser set_defaults is honored. Patch by Jyrki Pullianinen.
* | #11955: merge with 3.4.Ezio Melotti2014-08-041-2/+2
|\ \ | |/
| * #11955: show the list of args in case of error in test_argparse.Ezio Melotti2014-08-041-2/+2
| |
* | Issue #9554: Use modern unittest features in test_argparse.Berker Peksag2014-07-061-71/+31
|/ | | | Initial patch by Denver Coneybeare and Radu Voicilas.
* Issue #21481: Teach argparse equality tests to return NotImplemented when ↵Raymond Hettinger2014-05-261-0/+6
| | | | comparing to unknown types.
* make temporary read-only files writable, so rmtree can remove them (#21128)Benjamin Peterson2014-04-041-0/+3
|
* Issue #13107: argparse and optparse no longer raises an exception when outputSerhiy Storchaka2014-01-091-0/+54
|\ | | | | | | | | a help on environment with too small COLUMNS. Based on patch by Elazar Gershuni.
| * Issue #13107: argparse and optparse no longer raises an exception when outputSerhiy Storchaka2014-01-091-0/+54
| | | | | | | | | | a help on environment with too small COLUMNS. Based on patch by Elazar Gershuni.
* | Issue #18920: argparse's default version action (for -v, --version) shouldEli Bendersky2013-09-061-2/+2
| | | | | | | | | | | | output to stdout, matching the 'python -v' Reported by Wolfgang Maier
* | #11175: argparse.FileType now accepts encoding and errors arguments.Petri Lehtinen2012-12-151-0/+32
|/ | | | Patch by Lucas Maystre.
* Merge 3.2 fix updates and tests for issue #15906.Barry Warsaw2012-09-121-4/+27
|\
| * A follow up for issue #15906: change the test for calling the type conversionBarry Warsaw2012-09-121-4/+27
| | | | | | | | | | | | | | | | on the action's default, reverting it back to previous behavior. Conversion is only done on string defaults. Add a test for this and another test that ensures such type conversions are only called once.
* | - Issue #15906: Fix a regression in argparse caused by the preceding change,Barry Warsaw2012-09-121-0/+10
|\ \ | |/ | | | | when action='append', type='str' and default=[].
| * - Issue #15906: Fix a regression in argparse caused by the preceding change,Barry Warsaw2012-09-121-0/+10
| | | | | | | | when action='append', type='str' and default=[].
* | merge #15847: allow args to be a tuple in parse_argsR David Murray2012-09-081-0/+18
|\ \ | |/ | | | | | | | | | | | | This fixes a regression introduced by the fix for issue #13922. Although args is not documented as being allowed to be a tuple, previously this worked and so naturally there are programs in the field that depend on it. Patch by Zbyszek Jędrzejewski-Szmek.
| * #15847: allow args to be a tuple in parse_argsR David Murray2012-09-081-0/+18
| | | | | | | | | | | | | | | | This fixes a regression introduced by the fix for issue #13922. Although args is not documented as being allowed to be a tuple, previously this worked and so naturally there are programs in the field that depend on it. Patch by Zbyszek Jędrzejewski-Szmek.