sarugaku / resolvelib

Resolve abstract dependencies into concrete ones
ISC License
138 stars 31 forks source link

Ensure the pinned candidate is actually satisfying #35

Closed uranusjr closed 4 years ago

uranusjr commented 4 years ago

A faulty provider may have its find_matches() return candidates that don’t actually return True for is_satisfied_by(). This will cause errors difficult to debug down the resolution process, so we make sure to check it at pin time, and raise an error to tell the provider to fix things.

WIP, I want to add a test to make sure we raise this correctly.

Ref #33.