From eaf604a102538571182d470bf226c651e97263ad Mon Sep 17 00:00:00 2001 From: biefan <70761325+biefan@users.noreply.github.com> Date: Tue, 17 Mar 2026 03:55:36 +0000 Subject: [PATCH] Fail fast on unknown shell run arguments --- pyrit/cli/frontend_core.py | 3 +-- tests/unit/cli/test_frontend_core.py | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pyrit/cli/frontend_core.py b/pyrit/cli/frontend_core.py index 5ff336c18..0c26986cd 100644 --- a/pyrit/cli/frontend_core.py +++ b/pyrit/cli/frontend_core.py @@ -969,7 +969,6 @@ def parse_run_arguments(*, args_string: str) -> dict[str, Any]: result["max_dataset_size"] = validate_integer(parts[i], name="--max-dataset-size", min_value=1) i += 1 else: - logger.warning(f"Unknown argument: {parts[i]}") - i += 1 + raise ValueError(f"Unknown argument: {parts[i]}") return result diff --git a/tests/unit/cli/test_frontend_core.py b/tests/unit/cli/test_frontend_core.py index 7c040deb5..54d8e635e 100644 --- a/tests/unit/cli/test_frontend_core.py +++ b/tests/unit/cli/test_frontend_core.py @@ -684,6 +684,11 @@ def test_parse_run_arguments_missing_value(self): with pytest.raises(ValueError, match="requires a value"): frontend_core.parse_run_arguments(args_string="test_scenario --max-concurrency") + def test_parse_run_arguments_unknown_argument_raises(self): + """Test parsing with an unknown argument fails fast.""" + with pytest.raises(ValueError, match=r"Unknown argument: --bogus"): + frontend_core.parse_run_arguments(args_string="test_scenario --bogus 123 --max-retries 2") + @pytest.mark.asyncio @pytest.mark.usefixtures("patch_central_database")