From 2595680902e6f506ee072dfde195e6c863ea4770 Mon Sep 17 00:00:00 2001 From: Shahar Naveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Mon, 11 May 2026 18:53:22 +0300 Subject: [PATCH] Update `argparse.py` to 3.14.5 (#7832) --- Lib/argparse.py | 2 +- Lib/test/test_argparse.py | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Lib/argparse.py b/Lib/argparse.py index 8cf856943..24f474056 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -2678,7 +2678,7 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): if value not in choices: args = {'value': str(value), - 'choices': ', '.join(map(str, action.choices))} + 'choices': ', '.join(repr(str(choice)) for choice in action.choices)} msg = _('invalid choice: %(value)r (choose from %(choices)s)') if self.suggest_on_error and isinstance(value, str): diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py index 8331d0218..627e395c4 100644 --- a/Lib/test/test_argparse.py +++ b/Lib/test/test_argparse.py @@ -1045,7 +1045,7 @@ class TestStrEnumChoices(TestCase): parser.add_argument('--color', choices=self.Color) self.assertRaisesRegex( argparse.ArgumentError, - r"invalid choice: 'yellow' \(choose from red, green, blue\)", + r"invalid choice: 'yellow' \(choose from 'red', 'green', 'blue'\)", parser.parse_args, ['--color', 'yellow'], ) @@ -2313,7 +2313,7 @@ class TestArgumentAndSubparserSuggestions(TestCase): with self.assertRaises(ArgumentParserError) as excinfo: parser.parse_args(('bazz',)) self.assertIn( - "error: argument foo: invalid choice: 'bazz', maybe you meant 'baz'? (choose from bar, baz)", + "error: argument foo: invalid choice: 'bazz', maybe you meant 'baz'? (choose from 'bar', 'baz')", excinfo.exception.stderr ) @@ -2323,7 +2323,7 @@ class TestArgumentAndSubparserSuggestions(TestCase): with self.assertRaises(ArgumentParserError) as excinfo: parser.parse_args(('bazz',)) self.assertIn( - "error: argument foo: invalid choice: 'bazz' (choose from bar, baz)", + "error: argument foo: invalid choice: 'bazz' (choose from 'bar', 'baz')", excinfo.exception.stderr, ) @@ -2336,7 +2336,7 @@ class TestArgumentAndSubparserSuggestions(TestCase): parser.parse_args(('baz',)) self.assertIn( "error: argument {foo,bar}: invalid choice: 'baz', maybe you meant" - " 'bar'? (choose from foo, bar)", + " 'bar'? (choose from 'foo', 'bar')", excinfo.exception.stderr, ) @@ -2348,7 +2348,7 @@ class TestArgumentAndSubparserSuggestions(TestCase): with self.assertRaises(ArgumentParserError) as excinfo: parser.parse_args(('baz',)) self.assertIn( - "error: argument {foo,bar}: invalid choice: 'baz' (choose from foo, bar)", + "error: argument {foo,bar}: invalid choice: 'baz' (choose from 'foo', 'bar')", excinfo.exception.stderr, ) @@ -2358,7 +2358,7 @@ class TestArgumentAndSubparserSuggestions(TestCase): with self.assertRaises(ArgumentParserError) as excinfo: parser.parse_args(('bazz',)) self.assertIn( - "error: argument foo: invalid choice: 'bazz' (choose from bar, baz)", + "error: argument foo: invalid choice: 'bazz' (choose from 'bar', 'baz')", excinfo.exception.stderr, ) @@ -2378,7 +2378,7 @@ class TestArgumentAndSubparserSuggestions(TestCase): with self.assertRaises(ArgumentParserError) as excinfo: parser.parse_args(('3',)) self.assertIn( - "error: argument foo: invalid choice: '3' (choose from 1, 2)", + "error: argument foo: invalid choice: '3' (choose from '1', '2')", excinfo.exception.stderr, ) @@ -2388,7 +2388,7 @@ class TestArgumentAndSubparserSuggestions(TestCase): with self.assertRaises(ArgumentParserError) as excinfo: parser.parse_args(('3',)) self.assertIn( - "error: argument foo: invalid choice: '3' (choose from 1, 2)", + "error: argument foo: invalid choice: '3' (choose from '1', '2')", excinfo.exception.stderr, )