Skip to content

Commit

Permalink
Add test for #2695
Browse files Browse the repository at this point in the history
  • Loading branch information
grillo-delmal authored and Geod24 committed Sep 24, 2024
1 parent d78df16 commit 82134b5
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions source/dub/test/dependencies.d
Original file line number Diff line number Diff line change
Expand Up @@ -129,3 +129,49 @@ version "1.0.0"`, PackageFormat.sdl);
assert(dub.project.getDependency("b", true), "Missing 'b' dependency");
assert(dub.project.getDependency("no", true) is null, "Returned unexpected dependency");
}

// Issue 2695 - Nonsensical dependencies
// Dependencies should resolve versions correctly regardless of the order they get requested
unittest
{
scope dub = new TestDub((scope Filesystem root) {
root.writeFile(TestDub.ProjectPath ~ "dub.sdl", `name "main"
dependency "a" version="*"
dependency "b" version="*"`);
root.writePackageFile("a", "0.0.0", `name "a"
dependency "c" version="~>0.0.0"`, PackageFormat.sdl);
root.writePackageFile("b", "0.0.0", `name "b"
dependency "c" version="0.0.0"`, PackageFormat.sdl);
root.writePackageFile("c", "0.0.0", `name "c"
version "0.0.0"`, PackageFormat.sdl);
root.writePackageFile("c", "0.0.1", `name "c"
version "0.0.1"`, PackageFormat.sdl);
});
dub.loadPackage();

dub.upgrade(UpgradeOptions.select);

assert(dub.project.hasAllDependencies(), "project have missing dependencies");
}

unittest
{
scope dub = new TestDub((scope Filesystem root) {
root.writeFile(TestDub.ProjectPath ~ "dub.sdl", `name "main"
dependency "a" version="*"
dependency "b" version="*"`);
root.writePackageFile("a", "1.0.0", `name "a"
dependency "c" version="0.0.0"`, PackageFormat.sdl);
root.writePackageFile("b", "1.0.0", `name "b"
dependency "c" version="~>0.0.0"`, PackageFormat.sdl);
root.writePackageFile("c", "0.0.0", `name "c"
version "0.0.0"`, PackageFormat.sdl);
root.writePackageFile("c", "0.0.1", `name "c"
version "0.0.1"`, PackageFormat.sdl);
});
dub.loadPackage();

dub.upgrade(UpgradeOptions.select);

assert(dub.project.hasAllDependencies(), "project have missing dependencies");
}

0 comments on commit 82134b5

Please sign in to comment.