Skip to content

improve the proptest of the resolver. #6120

Open
@Eh2406

Description

@Eh2406

We have some proptests that are used to fuzz the resolver. They were introduced in #5921. However, not all the good ideas from that discussion got implemented in the initial push. This is a list of good ideas related to using proptests on the resolver to act as a hub.

The current strategy does not:

The current properties do not test:

  • If resolution was successful, then all the transitive requirements are met.
  • The resolver agrees with some orical. Maybe an SAT solver, or the cargo that we are being built with, or the last cargo on crates.io.
  • Anything about error messages.
  • @maurer suggested testing for consistency. Same registry, same cargo version, same lockfile, every time.
  • @maurer suggested a pareto optimality property (if all else stays the same, but new package versions are released, we don't get a new lockfile where every version is <= the old one, and at least one is < the old one)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-dependency-resolutionArea: dependency resolution and the resolverA-testing-cargo-itselfArea: cargo's testsE-hardExperience: HardS-needs-mentorStatus: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions