sarugaku / resolvelib

Resolve abstract dependencies into concrete ones
ISC License
143 stars 33 forks source link

Fix CocoaPods test cases #24

Closed uranusjr closed 4 years ago

uranusjr commented 4 years ago

Follow up of #21.

uranusjr commented 4 years ago

Two discrepancies (circular and fixed_circular) are actually design decision differences. These are tracked in #25 to decide whether we want to offer the possibility of cycle detection.

The remaining three failures (complex_conflict, shared_parent_dependency_with_swapping, spapping_and_rewinding) are all due to ResolutionTooDeep. I tried increase the threshold (from 100 to 10000) without success. Will need to dive into them to know what’s actually going on (it’s just too complex, or if the resolver is stalling).

Interestingly not all “complex” fixtures fail, and two of the failed fixtures don’t seem that complex to me (shared_parent_dependency_with_swapping is quite unwieldy though).

uranusjr commented 4 years ago

complex_conflict_unwinding also fails if I use Molinilo’s visiting order (i.e. implement get_preference the other way around). So maybe these complex fixtures are indeed complex for Molinilo?

uranusjr commented 4 years ago

Fixed the stalling in 12c5d6a! Just one to go… complex_conflict.

uranusjr commented 4 years ago

Caught! fe8f0dc