Add ~/.ivy2/local test

This commit is contained in:
Alexandre Archambault 2015-06-26 00:59:10 +01:00
parent b010d4b620
commit db3b244b75
3 changed files with 31 additions and 4 deletions

View File

@ -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))
}
}
}

View File

@ -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

View File

@ -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