From db3b244b755dcd5f1bdf3f90f18d2832ad8e2ae3 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Fri, 26 Jun 2015 00:59:10 +0100 Subject: [PATCH] Add ~/.ivy2/local test --- .../scala/coursier/test/IvyLocalTests.scala | 18 ++++++++++++++++++ ...lexarchambault:coursier_2.11:0.1.0-SNAPSHOT | 7 +++++++ .../scala/coursier/test/CentralTests.scala | 10 ++++++---- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 core-jvm/src/test/scala/coursier/test/IvyLocalTests.scala create mode 100644 core/src/test/resources/resolutions/com.github.alexarchambault:coursier_2.11:0.1.0-SNAPSHOT diff --git a/core-jvm/src/test/scala/coursier/test/IvyLocalTests.scala b/core-jvm/src/test/scala/coursier/test/IvyLocalTests.scala new file mode 100644 index 000000000..f9b820848 --- /dev/null +++ b/core-jvm/src/test/scala/coursier/test/IvyLocalTests.scala @@ -0,0 +1,18 @@ +package coursier.test + +import coursier.Module +import coursier.core.Repository +import utest._ + +object IvyLocalTests extends TestSuite { + + val tests = TestSuite{ + 'coursier{ + // Assume this module (and the sub-projects it depends on) is published locally + CentralTests.resolutionCheck( + Module("com.github.alexarchambault", "coursier_2.11"), "0.1.0-SNAPSHOT", + Some(Repository.ivy2Local)) + } + } + +} diff --git a/core/src/test/resources/resolutions/com.github.alexarchambault:coursier_2.11:0.1.0-SNAPSHOT b/core/src/test/resources/resolutions/com.github.alexarchambault:coursier_2.11:0.1.0-SNAPSHOT new file mode 100644 index 000000000..b7674ef1d --- /dev/null +++ b/core/src/test/resources/resolutions/com.github.alexarchambault:coursier_2.11:0.1.0-SNAPSHOT @@ -0,0 +1,7 @@ +com.github.alexarchambault:coursier_2.11:jar:0.1.0-SNAPSHOT +org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.4 +org.scala-lang.modules:scala-xml_2.11:jar:1.0.4 +org.scala-lang:scala-library:jar:2.11.6 +org.scalaz:scalaz-concurrent_2.11:jar:7.1.2 +org.scalaz:scalaz-core_2.11:jar:7.1.2 +org.scalaz:scalaz-effect_2.11:jar:7.1.2 diff --git a/core/src/test/scala/coursier/test/CentralTests.scala b/core/src/test/scala/coursier/test/CentralTests.scala index bf0d4ae19..0d2b98148 100644 --- a/core/src/test/scala/coursier/test/CentralTests.scala +++ b/core/src/test/scala/coursier/test/CentralTests.scala @@ -13,21 +13,23 @@ object CentralTests extends TestSuite { Repository.mavenCentral ) - def resolve(deps: Set[Dependency], filter: Option[Dependency => Boolean] = None) = { + def resolve(deps: Set[Dependency], filter: Option[Dependency => Boolean] = None, extraRepo: Option[Repository] = None) = { + val repositories0 = extraRepo.toSeq ++ repositories + ResolutionProcess(Resolution(deps, filter = filter)) - .run(Repository.fetchSeveralFrom(repositories)) + .run(Repository.fetchSeveralFrom(repositories0)) .runF } def repr(dep: Dependency) = s"${dep.module.organization}:${dep.module.name}:${dep.attributes.`type`}:${Some(dep.attributes.classifier).filter(_.nonEmpty).map(_+":").mkString}${dep.version}" - def resolutionCheck(module: Module, version: String) = + def resolutionCheck(module: Module, version: String, extraRepo: Option[Repository] = None) = async { val expected = await(textResource(s"resolutions/${module.organization}:${module.name}:$version")).split('\n').toSeq val dep = Dependency(module, version) - val res = await(resolve(Set(dep))) + val res = await(resolve(Set(dep), extraRepo = extraRepo)) val result = res.dependencies.toVector.map(repr).sorted.distinct