From 8123c34faa5aab20edc268c7f8a81e6a765af366 Mon Sep 17 00:00:00 2001 From: Kirill Podoprigora Date: Wed, 17 Apr 2024 10:25:05 +0300 Subject: gh-117923: Catch ``test_webbrowser.test_parse_args_error`` stderr output (#117924) --- Lib/test/test_webbrowser.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_webbrowser.py b/Lib/test/test_webbrowser.py index 8496652..ae8d776 100644 --- a/Lib/test/test_webbrowser.py +++ b/Lib/test/test_webbrowser.py @@ -461,11 +461,23 @@ class CliTest(unittest.TestCase): "https://example.com --new-window --new-tab", "https://example.com -n --new-tab", "https://example.com --new-window -t", - # Ensure ambiguous shortening fails - "https://example.com --new", ]: + with support.captured_stderr() as stderr: + with self.assertRaises(SystemExit): + webbrowser.parse_args(shlex.split(command)) + self.assertIn( + 'error: argument -t/--new-tab: not allowed with argument -n/--new-window', + stderr.getvalue(), + ) + + # Ensure ambiguous shortening fails + with support.captured_stderr() as stderr: with self.assertRaises(SystemExit): - webbrowser.parse_args(shlex.split(command)) + webbrowser.parse_args(shlex.split("https://example.com --new")) + self.assertIn( + 'error: ambiguous option: --new could match --new-window, --new-tab', + stderr.getvalue() + ) def test_main(self): for command, expected_url, expected_new_win in [ -- cgit v0.12