diff options
Diffstat (limited to 'dev-python/argh/files/argh-0.31.2-py313.patch')
-rw-r--r-- | dev-python/argh/files/argh-0.31.2-py313.patch | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/dev-python/argh/files/argh-0.31.2-py313.patch b/dev-python/argh/files/argh-0.31.2-py313.patch new file mode 100644 index 000000000000..4049fedc0d0d --- /dev/null +++ b/dev-python/argh/files/argh-0.31.2-py313.patch @@ -0,0 +1,164 @@ +From cdb70d5ac7d8a5a5dff3c55100e5f67b68b26826 Mon Sep 17 00:00:00 2001 +From: Andy Mikhaylenko <neithere@gmail.com> +Date: Sun, 16 Jun 2024 22:38:21 +0200 +Subject: [PATCH] fix: tests under Python 3.13 (fixes #228) + +diff --git a/tests/test_integration.py b/tests/test_integration.py +index f863386..258a148 100644 +--- a/tests/test_integration.py ++++ b/tests/test_integration.py +@@ -724,18 +724,34 @@ def remind( + help_normalised = re.sub(r"\s+", " ", parser.format_help()) + + assert "name 'Basil'" in help_normalised +- assert "-t TASK, --task TASK 'hang the Moose'" in help_normalised +- assert ( +- "-r REASON, --reason REASON 'there are creatures living in it'" +- in help_normalised +- ) + +- # explicit help message is not obscured by the implicit one +- # but is still present +- assert ( +- "-n NOTE, --note NOTE why is it a remarkable animal? " +- "(default: 'it can speak English')" +- ) in help_normalised ++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help ++ if sys.version_info < (3, 13): ++ assert "-t TASK, --task TASK 'hang the Moose'" in help_normalised ++ assert ( ++ "-r REASON, --reason REASON 'there are creatures living in it'" ++ in help_normalised ++ ) ++ ++ # explicit help message is not obscured by the implicit one ++ # but is still present ++ assert ( ++ "-n NOTE, --note NOTE why is it a remarkable animal? " ++ "(default: 'it can speak English')" ++ ) in help_normalised ++ else: ++ assert "-t, --task TASK 'hang the Moose'" in help_normalised ++ assert ( ++ "-r, --reason REASON 'there are creatures living in it'" ++ in help_normalised ++ ) ++ ++ # explicit help message is not obscured by the implicit one ++ # but is still present ++ assert ( ++ "-n, --note NOTE why is it a remarkable animal? " ++ "(default: 'it can speak English')" ++ ) in help_normalised + + + def test_default_arg_values_in_help__regression(): +@@ -750,9 +766,16 @@ def foo(*, bar=""): + # doesn't break + parser.format_help() + ++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help ++ if sys.version_info < (3, 13): ++ expected_line = "-b BAR, --bar BAR ''" ++ # note the empty str repr ^^^ ++ else: ++ expected_line = "-b, --bar BAR ''" ++ # note the empty str repr ^^^ ++ + # now check details +- assert "-b BAR, --bar BAR ''" in parser.format_help() +- # note the empty str repr ^^^ ++ assert expected_line in parser.format_help() + + + def test_help_formatting_is_preserved(): +@@ -868,6 +891,19 @@ def second_func(): + + run(parser, "first-func --help", exit=True) + captured = capsys.readouterr() ++ ++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help ++ if sys.version_info < (3, 13): ++ arg_help_lines = ( ++ " -h, --help show this help message and exit\n" ++ " -f FOO, --foo FOO 123" ++ ) ++ else: ++ arg_help_lines = ( ++ " -h, --help show this help message and exit\n" ++ " -f, --foo FOO 123" ++ ) ++ + assert ( + captured.out + == unindent( +@@ -877,8 +913,7 @@ def second_func(): + Owl stretching time + + {HELP_OPTIONS_LABEL}: +- -h, --help show this help message and exit +- -f FOO, --foo FOO 123 ++ {arg_help_lines} + """ + )[1:] + ) +@@ -997,6 +1032,19 @@ def second_func(): + + run(parser, "my-group first-func --help", exit=True) + captured = capsys.readouterr() ++ ++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help ++ if sys.version_info < (3, 13): ++ arg_help_lines = ( ++ " -h, --help show this help message and exit\n" ++ " -f FOO, --foo FOO 123" ++ ) ++ else: ++ arg_help_lines = ( ++ " -h, --help show this help message and exit\n" ++ " -f, --foo FOO 123" ++ ) ++ + assert ( + captured.out + == unindent( +@@ -1006,8 +1054,7 @@ def second_func(): + Owl stretching time + + {HELP_OPTIONS_LABEL}: +- -h, --help show this help message and exit +- -f FOO, --foo FOO 123 ++ {arg_help_lines} + """ + )[1:] + ) +@@ -1079,6 +1126,19 @@ def second_func(): + + run(parser, "first-func --help", exit=True) + captured = capsys.readouterr() ++ ++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help ++ if sys.version_info < (3, 13): ++ arg_help_lines = ( ++ " -h, --help show this help message and exit\n" ++ " -f FOO, --foo FOO 123" ++ ) ++ else: ++ arg_help_lines = ( ++ " -h, --help show this help message and exit\n" ++ " -f, --foo FOO 123" ++ ) ++ + assert ( + captured.out + == unindent( +@@ -1088,8 +1148,7 @@ def second_func(): + func description override + + {HELP_OPTIONS_LABEL}: +- -h, --help show this help message and exit +- -f FOO, --foo FOO 123 ++ {arg_help_lines} + """ + )[1:] + ) |