From 0e887544def1f266bfc4f296826df8109f7ba855 Mon Sep 17 00:00:00 2001 From: Kuntal Majumder Date: Sun, 28 Jul 2024 21:37:32 +0200 Subject: [PATCH] Use RequirementsFileParserError instead of RecursionError --- src/pip/_internal/req/req_file.py | 2 +- tests/unit/test_req_file.py | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pip/_internal/req/req_file.py b/src/pip/_internal/req/req_file.py index b8db037c7c1..b15a6ea9a3e 100644 --- a/src/pip/_internal/req/req_file.py +++ b/src/pip/_internal/req/req_file.py @@ -371,7 +371,7 @@ def _parse_and_recurse( if initial_file is not None else "" ) - raise RecursionError( + raise RequirementsFileParseError( f"{req_path} recursively references itself in {filename} {tail}" ) # Keeping a track where was each file first included in diff --git a/tests/unit/test_req_file.py b/tests/unit/test_req_file.py index b434e1b01ff..3b91e8e934d 100644 --- a/tests/unit/test_req_file.py +++ b/tests/unit/test_req_file.py @@ -9,7 +9,6 @@ import pytest -import pip._internal.exceptions import pip._internal.req.req_file # this will be monkeypatched from pip._internal.exceptions import InstallationError, RequirementsFileParseError from pip._internal.index.package_finder import PackageFinder @@ -364,7 +363,7 @@ def test_recursive_requirements_file( # When the passed requirements file recursively references itself with pytest.raises( - RecursionError, + RequirementsFileParseError, match=( f"{path_to_string(req_files[0])} recursively references itself" f" in {path_to_string(req_files[req_file_count - 1])}" @@ -378,7 +377,7 @@ def test_recursive_requirements_file( f"-r {req_files[req_file_count - 2].name}" ) with pytest.raises( - RecursionError, + RequirementsFileParseError, match=( f"{path_to_string(req_files[req_file_count - 2])} recursively" " references itself in" @@ -401,7 +400,7 @@ def test_recursive_relative_requirements_file( level_2_req_file.write_text("-r ../../root.txt") with pytest.raises( - RecursionError, + RequirementsFileParseError, match=( f"{path_to_string(root_req_file)} recursively references itself in" f" {path_to_string(level_2_req_file)}"