Skip to content

Commit 185ea74

Browse files
authored
Checks if the parsed version constraint is empty (unsatisfiable). (#891)
1 parent 6b67b60 commit 185ea74

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/poetry/core/version/requirements.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ def __init__(self, requirement_string: str) -> None:
8181
f'The requirement is invalid: invalid version constraint "{constraint}"'
8282
)
8383

84+
if self.constraint.is_empty():
85+
raise InvalidRequirementError(
86+
f'The requirement is invalid: unsatisfiable requirement: "{constraint}"'
87+
)
88+
8489
self.pretty_constraint = constraint
8590

8691
marker = next(parsed.find_data("marker_spec"), None)

tests/version/test_requirements.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ def test_requirement(string: str, expected: dict[str, Any]) -> None:
131131
[
132132
("foo!", "Unexpected character at column 4\n\nfoo!\n ^\n"),
133133
("foo (>=bar)", 'invalid version constraint ">=bar"'),
134+
("foo (>=0.2,<0.1)", 'unsatisfiable requirement: ">=0.2,<0.1"'),
134135
("name @ file:/.", "invalid URL"),
135136
],
136137
)

0 commit comments

Comments
 (0)