From b9c8c3e118492a5201c444434a3000436a007926 Mon Sep 17 00:00:00 2001 From: "Eric N. Vander Weele" Date: Fri, 25 Oct 2019 15:01:30 -0400 Subject: [PATCH] application: Ensure `-h/--help` is unknown during preliminary parsing Now that the preliminary parser is being used, we can remove needing to prune out `-h` and `--help` from the copied `args` list. --- src/flake8/main/application.py | 8 -------- tests/unit/test_application.py | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/flake8/main/application.py b/src/flake8/main/application.py index 2354425..5e61fb0 100644 --- a/src/flake8/main/application.py +++ b/src/flake8/main/application.py @@ -129,14 +129,6 @@ class Application(object): args.remove("--version") except ValueError: pass - try: - args.remove("--help") - except ValueError: - pass - try: - args.remove("-h") - except ValueError: - pass return self.prelim_arg_parser.parse_known_args(args) diff --git a/tests/unit/test_application.py b/tests/unit/test_application.py index edf853b..a3d9bba 100644 --- a/tests/unit/test_application.py +++ b/tests/unit/test_application.py @@ -99,6 +99,20 @@ def test_prelim_opts_args(application): assert args == ['--foo', 'src', 'setup.py', '--statistics'] +def test_prelim_opts_ignore_help(application): + """Verify -h/--help is not handled.""" + # GIVEN + + # WHEN + _, args = application.parse_preliminary_options_and_args([ + '--help', + '-h', + ]) + + # THEN + assert args == ['--help', '-h'] + + def test_prelim_opts_handles_empty(application): """Verify empty argv lists are handled correctly.""" irrelevant_args = ['myexe', '/path/to/foo']