-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Labels
A-dependency-resolutionArea: dependency resolution and the resolverArea: dependency resolution and the resolverA-testing-cargo-itselfArea: cargo's testsArea: cargo's testsE-hardExperience: HardExperience: HardS-needs-mentorStatus: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.Status: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.
Description
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:
- generate features.
- generate dev-dependencies.
- generate system specific dependencies.
- generate patch sources. cc Handle activation conflicts for
[patch]
sources #7118
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
Labels
A-dependency-resolutionArea: dependency resolution and the resolverArea: dependency resolution and the resolverA-testing-cargo-itselfArea: cargo's testsArea: cargo's testsE-hardExperience: HardExperience: HardS-needs-mentorStatus: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.Status: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.