From efa6bf6650282c8526c46ff1210324460dfb4d12 Mon Sep 17 00:00:00 2001 From: Keshav Priyadarshi Date: Tue, 12 Sep 2023 02:19:39 +0530 Subject: [PATCH] Use proper exception subclass for invalid constraints error - fixes https://github.com/nexB/univers/issues/123 Signed-off-by: Keshav Priyadarshi --- src/univers/version_constraint.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/univers/version_constraint.py b/src/univers/version_constraint.py index 1cc87552..17a3ebde 100644 --- a/src/univers/version_constraint.py +++ b/src/univers/version_constraint.py @@ -471,6 +471,10 @@ def simplify_constraints(constraints): return sorted(set(unequal_constraints + constraints)) +class InvalidConstraintsError(Exception): + pass + + def contains_version(version, constraints): """ Return True an assertion error if the ``constraints`` list contains the @@ -539,7 +543,10 @@ def contains_version(version, constraints): else: # this should never happen as the constraints must be valid going in - raise Exception(f"Invalid constraints sequence: {constraints }") + raise InvalidConstraintsError( + f"Invalid constraints sequence: ('{cur_comp} {cur_constraint.version}'," + f"'{nxt_comp} {nxt_constraint.version}') in {constraints!r}" + ) # If this is the last iteration and next comparator is ">" or >=" # and the "tested version" is greater than the next version