summaryrefslogtreecommitdiff
path: root/core/src/test/scala
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/scala')
-rw-r--r--core/src/test/scala/mill/define/CacherTests.scala18
-rw-r--r--core/src/test/scala/mill/define/GraphTests.scala15
-rw-r--r--core/src/test/scala/mill/discover/ConsistencyTests.scala12
-rw-r--r--core/src/test/scala/mill/discover/CrossModuleTests.scala12
-rw-r--r--core/src/test/scala/mill/discover/DiscoveredTests.scala12
-rw-r--r--core/src/test/scala/mill/discover/LabelingTests.scala33
-rw-r--r--core/src/test/scala/mill/eval/EvaluationTests.scala27
-rw-r--r--core/src/test/scala/mill/eval/FailureTests.scala29
-rw-r--r--core/src/test/scala/mill/eval/JavaCompileJarTests.scala8
-rw-r--r--core/src/test/scala/mill/main/MainTests.scala56
10 files changed, 113 insertions, 109 deletions
diff --git a/core/src/test/scala/mill/define/CacherTests.scala b/core/src/test/scala/mill/define/CacherTests.scala
index 4b8e31ab..4e647f82 100644
--- a/core/src/test/scala/mill/define/CacherTests.scala
+++ b/core/src/test/scala/mill/define/CacherTests.scala
@@ -25,29 +25,33 @@ object CacherTests extends TestSuite{
val tests = Tests{
- def eval[T: Discovered, V](base: T, v: Task[V])(implicit tp: TestPath) = {
+ def eval[V](mapping: Discovered.Mapping[_], v: Task[V])(implicit tp: TestPath) = {
val workspace = ammonite.ops.pwd / 'target / 'workspace / tp.value
- val evaluator = new Evaluator(workspace, Discovered.mapping(base), DummyLogger)
+ val evaluator = new Evaluator(workspace, mapping.value, DummyLogger)
evaluator.evaluate(OSet(v)).values(0)
}
'simpleDefIsCached - assert(
Base.value eq Base.value,
- eval(Base, Base.value) == 1
+ eval(Discovered.mapping(Base), Base.value) == 1
)
+ val middleMapping = Discovered.mapping(Middle)
+
'overridingDefIsAlsoCached - assert(
- eval(Middle, Middle.value) == 3,
+ eval(middleMapping, Middle.value) == 3,
Middle.value eq Middle.value
)
'overridenDefRemainsAvailable - assert(
- eval(Middle, Middle.overriden) == 1
+ eval(middleMapping, Middle.overriden) == 1
)
+ val terminalMapping = Discovered.mapping(Terminal)
+
'multipleOverridesWork- assert(
- eval(Terminal, Terminal.value) == 7,
- eval(Terminal, Terminal.overriden) == 1
+ eval(terminalMapping, Terminal.value) == 7,
+ eval(terminalMapping, Terminal.overriden) == 1
)
// Doesn't fail, presumably compileError doesn't go far enough in the
// compilation pipeline to hit the override checks
diff --git a/core/src/test/scala/mill/define/GraphTests.scala b/core/src/test/scala/mill/define/GraphTests.scala
index 52f144f0..9442f9ab 100644
--- a/core/src/test/scala/mill/define/GraphTests.scala
+++ b/core/src/test/scala/mill/define/GraphTests.scala
@@ -2,6 +2,7 @@ package mill.define
import mill.discover.Discovered
+import Discovered.mapping
import mill.eval.Evaluator
import mill.util.{OSet, TestGraphs, TestUtil}
import utest._
@@ -150,13 +151,13 @@ object GraphTests extends TestSuite{
)
}
'multiTerminalGroupCounts - {
- def countGroups[T: Discovered](t: T, goals: Task[_]*) = {
- val labeling = Discovered.mapping(t)
+ def countGroups(mapping: Discovered.Mapping[_], goals: Task[_]*) = {
+
val topoSorted = Graph.topoSorted(
Graph.transitiveTargets(OSet.from(goals))
)
val grouped = Graph.groupAroundImportantTargets(topoSorted) {
- case t: Target[_] if labeling.contains(t) || goals.contains(t) => t
+ case t: Target[_] if mapping.value.contains(t) || goals.contains(t) => t
case t if goals.contains(t) => t
}
grouped.keyCount
@@ -164,7 +165,7 @@ object GraphTests extends TestSuite{
'separateGroups - {
import separateGroups._
- val groupCount = countGroups(separateGroups, right, left)
+ val groupCount = countGroups(mapping(separateGroups), right, left)
assert(groupCount == 3)
}
@@ -173,7 +174,7 @@ object GraphTests extends TestSuite{
// `right` depends on `left`, both of them depend on the un-cached `task`
// which would force them both to re-compute every time `task` changes
import triangleTask._
- val groupCount = countGroups(triangleTask, right, left)
+ val groupCount = countGroups(mapping(triangleTask), right, left)
assert(groupCount == 2)
}
@@ -181,7 +182,7 @@ object GraphTests extends TestSuite{
'multiTerminalGroup - {
// Make sure the following graph ends up as two groups
import multiTerminalGroup._
- val groupCount = countGroups(multiTerminalGroup, right, left)
+ val groupCount = countGroups(mapping(multiTerminalGroup), right, left)
assert(groupCount == 2)
}
@@ -190,7 +191,7 @@ object GraphTests extends TestSuite{
// Make sure the following graph ends up as a three groups: one for
// each cached target, and one for the downstream task we are running
import multiTerminalBoundary._
- val groupCount = countGroups(multiTerminalBoundary, task2)
+ val groupCount = countGroups(mapping(multiTerminalBoundary), task2)
assert(groupCount == 3)
}
}
diff --git a/core/src/test/scala/mill/discover/ConsistencyTests.scala b/core/src/test/scala/mill/discover/ConsistencyTests.scala
index 0591d5fc..ae66b199 100644
--- a/core/src/test/scala/mill/discover/ConsistencyTests.scala
+++ b/core/src/test/scala/mill/discover/ConsistencyTests.scala
@@ -25,16 +25,14 @@ object ConsistencyTests extends TestSuite{
'diamond - {
val inconsistent = Discovered.consistencyCheck(
- diamond,
- Discovered[diamond.type]
+ Discovered.mapping(diamond)
)
assert(inconsistent == Nil)
}
'anonDiamond - {
val inconsistent = Discovered.consistencyCheck(
- anonDiamond,
- Discovered[anonDiamond.type]
+ Discovered.mapping(anonDiamond)
)
assert(inconsistent == Nil)
@@ -42,15 +40,13 @@ object ConsistencyTests extends TestSuite{
'borkedCachedDiamond2 - {
val inconsistent = Discovered.consistencyCheck(
- borkedCachedDiamond2,
- Discovered[borkedCachedDiamond2.type]
+ Discovered.mapping(borkedCachedDiamond2)
)
assert(inconsistent == expected)
}
'borkedCachedDiamond3 - {
val inconsistent = Discovered.consistencyCheck(
- borkedCachedDiamond3,
- Discovered[borkedCachedDiamond3.type]
+ Discovered.mapping(borkedCachedDiamond3)
)
assert(inconsistent == expected)
}
diff --git a/core/src/test/scala/mill/discover/CrossModuleTests.scala b/core/src/test/scala/mill/discover/CrossModuleTests.scala
index a3a66daf..135d76e3 100644
--- a/core/src/test/scala/mill/discover/CrossModuleTests.scala
+++ b/core/src/test/scala/mill/discover/CrossModuleTests.scala
@@ -20,7 +20,7 @@ object CrossModuleTests extends TestSuite{
}
}
- val discovered = Discovered[outer.type]
+ val discovered = Discovered.make[outer.type]
val Some((gen, innerMirror)) = discovered
.mirror
@@ -47,7 +47,7 @@ object CrossModuleTests extends TestSuite{
}
}
- val Some((gen, innerMirror)) = Discovered[outer.type]
+ val Some((gen, innerMirror)) = Discovered.make[outer.type]
.mirror
.children
.head._2
@@ -63,7 +63,7 @@ object CrossModuleTests extends TestSuite{
List("2.11.8", "sjs0.6"),
List("2.12.4", "sjs0.6"),
List("2.11.8", "native0.3"),
- List("2.12.4", "native0.3"),
+ List("2.12.4", "native0.3")
)
assert(keys == expectedKeys)
@@ -75,7 +75,7 @@ object CrossModuleTests extends TestSuite{
}
'crossTargetDiscovery - {
- val discovered = Discovered[singleCross.type].targets(singleCross)
+ val discovered = Discovered.make[singleCross.type].targets(singleCross)
val segments = discovered.map(_.segments)
val expectedSegments = List(
@@ -94,7 +94,7 @@ object CrossModuleTests extends TestSuite{
}
'doubleCrossTargetDiscovery - {
- val discovered = Discovered[doubleCross.type]
+ val discovered = Discovered.make[doubleCross.type]
val targets = discovered.targets(doubleCross).map(_.target)
val expected = List(
@@ -111,7 +111,7 @@ object CrossModuleTests extends TestSuite{
}
'nestedCrosses - {
- val discovered = Discovered[nestedCrosses.type].targets(nestedCrosses)
+ val discovered = Discovered.make[nestedCrosses.type].targets(nestedCrosses)
assert(discovered.length == 9)
}
}
diff --git a/core/src/test/scala/mill/discover/DiscoveredTests.scala b/core/src/test/scala/mill/discover/DiscoveredTests.scala
index 1d0f7a78..33196ff9 100644
--- a/core/src/test/scala/mill/discover/DiscoveredTests.scala
+++ b/core/src/test/scala/mill/discover/DiscoveredTests.scala
@@ -12,7 +12,7 @@ object DiscoveredTests extends TestSuite{
val tests = Tests{
'targets - {
- val discovered = Discovered[nestedModule.type]
+ val discovered = Discovered.make[nestedModule.type]
def flatten(h: Mirror[nestedModule.type, _]): Seq[Any] = {
h.node(nestedModule, Nil) :: h.children.flatMap{case (label, c) => flatten(c)}
@@ -22,7 +22,7 @@ object DiscoveredTests extends TestSuite{
val expectedHierarchy = Seq(
nestedModule,
nestedModule.classInstance,
- nestedModule.nested,
+ nestedModule.nested
)
assert(flattenedHierarchy == expectedHierarchy)
@@ -37,7 +37,7 @@ object DiscoveredTests extends TestSuite{
}
'traitWithModule - {
- val discovered = Discovered[TraitWithModuleObject.type]
+ val discovered = Discovered.make[TraitWithModuleObject.type]
val mapped = discovered.targets(TraitWithModuleObject).map(x => x.segments -> x.target)
val expected = Seq(
(
@@ -64,7 +64,7 @@ object DiscoveredTests extends TestSuite{
}
- val discovered = Discovered[outer.type]
+ val discovered = Discovered.make[outer.type]
val outerCommands = discovered.mirror.commands
assertMatch(outerCommands){case Seq(
@@ -93,7 +93,7 @@ object DiscoveredTests extends TestSuite{
def single = mill.T{ new InputStreamReader(System.in) }
}
- val error = compileError("Discovered[outer.type]")
+ val error = compileError("Discovered.make[outer.type]")
assert(
error.msg.contains("uPickle does not know how to read"),
error.pos.contains("def single = mill.T{ new InputStreamReader(System.in) }")
@@ -105,7 +105,7 @@ object DiscoveredTests extends TestSuite{
def single(in: InputStreamReader) = mill.T.command{ println(123) }
}
- val error = compileError("Discovered[outer.type]")
+ val error = compileError("Discovered.make[outer.type]")
assert(
error.msg.contains("could not find implicit value"),
diff --git a/core/src/test/scala/mill/discover/LabelingTests.scala b/core/src/test/scala/mill/discover/LabelingTests.scala
index 94d91cda..fa417373 100644
--- a/core/src/test/scala/mill/discover/LabelingTests.scala
+++ b/core/src/test/scala/mill/discover/LabelingTests.scala
@@ -3,6 +3,7 @@ package mill.discover
import mill.define.Task
import mill.util.TestGraphs
import utest._
+import Discovered.mapping
import mill.discover.Mirror.Segment.Label
object LabelingTests extends TestSuite{
@@ -12,39 +13,39 @@ object LabelingTests extends TestSuite{
'labeling - {
- def check[T: Discovered](base: T, t: Task[_], relPath: Option[String]) = {
+ def check(mapping: Discovered.Mapping[_], t: Task[_], relPath: Option[String]) = {
- val names: Seq[(Task[_], Seq[Mirror.Segment])] = Discovered.mapping(base).mapValues(_.segments).toSeq
+ val names: Seq[(Task[_], Seq[Mirror.Segment])] = mapping.value.mapValues(_.segments).toSeq
val nameMap = names.toMap
val targetLabel = nameMap.get(t).map(_.map{case Label(v) => v}.mkString("."))
assert(targetLabel == relPath)
}
- 'singleton - check(singleton, singleton.single, Some("single"))
+ 'singleton - check(mapping(singleton), singleton.single, Some("single"))
'pair - {
- check(pair, pair.up, Some("up"))
- check(pair, pair.down, Some("down"))
+ check(mapping(pair), pair.up, Some("up"))
+ check(mapping(pair), pair.down, Some("down"))
}
'anonTriple - {
- check(anonTriple, anonTriple.up, Some("up"))
- check(anonTriple, anonTriple.down.inputs(0), None)
- check(anonTriple, anonTriple.down, Some("down"))
+ check(mapping(anonTriple), anonTriple.up, Some("up"))
+ check(mapping(anonTriple), anonTriple.down.inputs(0), None)
+ check(mapping(anonTriple), anonTriple.down, Some("down"))
}
'diamond - {
- check(diamond, diamond.up, Some("up"))
- check(diamond, diamond.left, Some("left"))
- check(diamond, diamond.right, Some("right"))
- check(diamond, diamond.down, Some("down"))
+ check(mapping(diamond), diamond.up, Some("up"))
+ check(mapping(diamond), diamond.left, Some("left"))
+ check(mapping(diamond), diamond.right, Some("right"))
+ check(mapping(diamond), diamond.down, Some("down"))
}
'anonDiamond - {
- check(anonDiamond, anonDiamond.up, Some("up"))
- check(anonDiamond, anonDiamond.down.inputs(0), None)
- check(anonDiamond, anonDiamond.down.inputs(1), None)
- check(anonDiamond, anonDiamond.down, Some("down"))
+ check(mapping(anonDiamond), anonDiamond.up, Some("up"))
+ check(mapping(anonDiamond), anonDiamond.down.inputs(0), None)
+ check(mapping(anonDiamond), anonDiamond.down.inputs(1), None)
+ check(mapping(anonDiamond), anonDiamond.down, Some("down"))
}
}
diff --git a/core/src/test/scala/mill/eval/EvaluationTests.scala b/core/src/test/scala/mill/eval/EvaluationTests.scala
index 3b136ba0..31a330d1 100644
--- a/core/src/test/scala/mill/eval/EvaluationTests.scala
+++ b/core/src/test/scala/mill/eval/EvaluationTests.scala
@@ -5,16 +5,17 @@ import mill.util.TestUtil.{Test, test}
import mill.define.{Graph, Target, Task}
import mill.{Module, T}
import mill.discover.Discovered
+import mill.discover.Discovered.mapping
import mill.util.{DummyLogger, OSet, TestGraphs, TestUtil}
import utest._
import utest.framework.TestPath
object EvaluationTests extends TestSuite{
- class Checker[T: Discovered](base: T)(implicit tp: TestPath) {
+ class Checker(mapping: Discovered.Mapping[_])(implicit tp: TestPath) {
val workspace = ammonite.ops.pwd / 'target / 'workspace / tp.value
ammonite.ops.rm(ammonite.ops.Path(workspace, ammonite.ops.pwd))
// Make sure data is persisted even if we re-create the evaluator each time
- def evaluator = new Evaluator(workspace, Discovered.mapping(base), DummyLogger)
+ def evaluator = new Evaluator(workspace, mapping.value, DummyLogger)
def apply(target: Task[_], expValue: Any,
expEvaled: OSet[Task[_]],
@@ -57,7 +58,7 @@ object EvaluationTests extends TestSuite{
'singleton - {
import singleton._
- val check = new Checker(singleton)
+ val check = new Checker(mapping(singleton))
// First time the target is evaluated
check(single, expValue = 0, expEvaled = OSet(single))
@@ -67,7 +68,7 @@ object EvaluationTests extends TestSuite{
}
'pair - {
import pair._
- val check = new Checker(pair)
+ val check = new Checker(mapping(pair))
check(down, expValue = 0, expEvaled = OSet(up, down))
down.counter += 1
@@ -78,7 +79,7 @@ object EvaluationTests extends TestSuite{
}
'anonTriple - {
import anonTriple._
- val check = new Checker(anonTriple)
+ val check = new Checker(mapping(anonTriple))
val middle = down.inputs(0)
check(down, expValue = 0, expEvaled = OSet(up, middle, down))
@@ -94,7 +95,7 @@ object EvaluationTests extends TestSuite{
}
'diamond - {
import diamond._
- val check = new Checker(diamond)
+ val check = new Checker(mapping(diamond))
check(down, expValue = 0, expEvaled = OSet(up, left, right, down))
down.counter += 1
@@ -112,7 +113,7 @@ object EvaluationTests extends TestSuite{
}
'anonDiamond - {
import anonDiamond._
- val check = new Checker(anonDiamond)
+ val check = new Checker(mapping(anonDiamond))
val left = down.inputs(0).asInstanceOf[TestUtil.Test]
val right = down.inputs(1).asInstanceOf[TestUtil.Test]
check(down, expValue = 0, expEvaled = OSet(up, left, right, down))
@@ -133,7 +134,7 @@ object EvaluationTests extends TestSuite{
'bigSingleTerminal - {
import bigSingleTerminal._
- val check = new Checker(bigSingleTerminal)
+ val check = new Checker(mapping(bigSingleTerminal))
check(j, expValue = 0, expEvaled = OSet(a, b, e, f, i, j), extraEvaled = 22)
@@ -156,7 +157,7 @@ object EvaluationTests extends TestSuite{
// even though one depends on the other
import separateGroups._
- val checker = new Checker(separateGroups)
+ val checker = new Checker(mapping(separateGroups))
val evaled1 = checker.evaluator.evaluate(OSet(right, left))
val filtered1 = evaled1.evaluated.filter(_.isInstanceOf[Target[_]])
assert(filtered1 == OSet(change, left, right))
@@ -173,7 +174,7 @@ object EvaluationTests extends TestSuite{
'triangleTask - {
import triangleTask._
- val checker = new Checker(triangleTask)
+ val checker = new Checker(mapping(triangleTask))
checker(right, 3, OSet(left, right), extraEvaled = -1)
checker(left, 1, OSet(), extraEvaled = -1)
@@ -181,7 +182,7 @@ object EvaluationTests extends TestSuite{
'multiTerminalGroup - {
import multiTerminalGroup._
- val checker = new Checker(multiTerminalGroup)
+ val checker = new Checker(mapping(multiTerminalGroup))
checker(right, 1, OSet(right), extraEvaled = -1)
checker(left, 1, OSet(left), extraEvaled = -1)
}
@@ -190,7 +191,7 @@ object EvaluationTests extends TestSuite{
import multiTerminalBoundary._
- val checker = new Checker(multiTerminalBoundary)
+ val checker = new Checker(mapping(multiTerminalBoundary))
checker(task2, 4, OSet(right, left), extraEvaled = -1, secondRunNoOp = false)
checker(task2, 4, OSet(), extraEvaled = -1, secondRunNoOp = false)
}
@@ -228,7 +229,7 @@ object EvaluationTests extends TestSuite{
// During the first evaluation, they get computed normally like any
// cached target
- val check = new Checker(build)
+ val check = new Checker(mapping(build))
assert(leftCount == 0, rightCount == 0)
check(down, expValue = 10101, expEvaled = OSet(up, right, down), extraEvaled = 8)
assert(leftCount == 1, middleCount == 1, rightCount == 1)
diff --git a/core/src/test/scala/mill/eval/FailureTests.scala b/core/src/test/scala/mill/eval/FailureTests.scala
index 4c3b6fca..84b13af5 100644
--- a/core/src/test/scala/mill/eval/FailureTests.scala
+++ b/core/src/test/scala/mill/eval/FailureTests.scala
@@ -2,6 +2,7 @@ package mill.eval
import mill.define.Target
import mill.discover.Discovered
+import mill.discover.Discovered.mapping
import mill.util.{DummyLogger, OSet}
import utest._
import utest.framework.TestPath
@@ -11,13 +12,13 @@ object FailureTests extends TestSuite{
def workspace(implicit tp: TestPath) = {
ammonite.ops.pwd / 'target / 'workspace / 'failure / implicitly[TestPath].value
}
- class Checker[T: Discovered](base: T)(implicit tp: TestPath){
+ class Checker(mapping: Discovered.Mapping[_])(implicit tp: TestPath){
- val evaluator = new Evaluator(workspace, Discovered.mapping(base), DummyLogger)
+ val evaluator = new Evaluator(workspace, mapping.value, DummyLogger)
- def apply(target: T => Target[_], expectedFailCount: Int, expectedRawValues: Seq[Result[_]]) = {
+ def apply(target: Target[_], expectedFailCount: Int, expectedRawValues: Seq[Result[_]]) = {
- val res = evaluator.evaluate(OSet(target(base)))
+ val res = evaluator.evaluate(OSet(target))
assert(
res.rawValues == expectedRawValues,
res.failing.keyCount == expectedFailCount
@@ -31,9 +32,9 @@ object FailureTests extends TestSuite{
'evaluateSingle - {
ammonite.ops.rm(ammonite.ops.Path(workspace, ammonite.ops.pwd))
- val check = new Checker(singleton)
+ val check = new Checker(mapping(singleton))
check(
- target = _.single,
+ target = singleton.single,
expectedFailCount = 0,
expectedRawValues = Seq(Result.Success(0))
)
@@ -41,7 +42,7 @@ object FailureTests extends TestSuite{
singleton.single.failure = Some("lols")
check(
- target = _.single,
+ target = singleton.single,
expectedFailCount = 1,
expectedRawValues = Seq(Result.Failure("lols"))
)
@@ -49,7 +50,7 @@ object FailureTests extends TestSuite{
singleton.single.failure = None
check(
- target = _.single,
+ target = singleton.single,
expectedFailCount = 0,
expectedRawValues = Seq(Result.Success(0))
)
@@ -60,16 +61,16 @@ object FailureTests extends TestSuite{
check(
- target = _.single,
+ target = singleton.single,
expectedFailCount = 1,
expectedRawValues = Seq(Result.Exception(ex))
)
}
'evaluatePair - {
ammonite.ops.rm(ammonite.ops.Path(workspace, ammonite.ops.pwd))
- val check = new Checker(pair)
+ val check = new Checker(mapping(pair))
check(
- _.down,
+ pair.down,
expectedFailCount = 0,
expectedRawValues = Seq(Result.Success(0))
)
@@ -77,7 +78,7 @@ object FailureTests extends TestSuite{
pair.up.failure = Some("lols")
check(
- _.down,
+ pair.down,
expectedFailCount = 1,
expectedRawValues = Seq(Result.Skipped)
)
@@ -85,7 +86,7 @@ object FailureTests extends TestSuite{
pair.up.failure = None
check(
- _.down,
+ pair.down,
expectedFailCount = 0,
expectedRawValues = Seq(Result.Success(0))
)
@@ -93,7 +94,7 @@ object FailureTests extends TestSuite{
pair.up.exception = Some(new IndexOutOfBoundsException())
check(
- _.down,
+ pair.down,
expectedFailCount = 1,
expectedRawValues = Seq(Result.Skipped)
)
diff --git a/core/src/test/scala/mill/eval/JavaCompileJarTests.scala b/core/src/test/scala/mill/eval/JavaCompileJarTests.scala
index 7639d8e2..356ffea1 100644
--- a/core/src/test/scala/mill/eval/JavaCompileJarTests.scala
+++ b/core/src/test/scala/mill/eval/JavaCompileJarTests.scala
@@ -51,14 +51,14 @@ object JavaCompileJarTests extends TestSuite{
val mapping = Discovered.mapping(Build)
def eval[T](t: Task[T]): Either[Result.Failing, (T, Int)] = {
- val evaluator = new Evaluator(workspacePath, mapping, DummyLogger)
+ val evaluator = new Evaluator(workspacePath, mapping.value, DummyLogger)
val evaluated = evaluator.evaluate(OSet(t))
if (evaluated.failing.keyCount == 0){
Right(Tuple2(
evaluated.rawValues(0).asInstanceOf[Result.Success[T]].value,
evaluated.evaluated.collect{
- case t: Target[_] if mapping.contains(t) => t
+ case t: Target[_] if mapping.value.contains(t) => t
case t: mill.define.Command[_] => t
}.size
))
@@ -68,12 +68,12 @@ object JavaCompileJarTests extends TestSuite{
}
def check(targets: OSet[Task[_]], expected: OSet[Task[_]]) = {
- val evaluator = new Evaluator(workspacePath, mapping, DummyLogger)
+ val evaluator = new Evaluator(workspacePath, mapping.value, DummyLogger)
val evaluated = evaluator.evaluate(targets)
.evaluated
.flatMap(_.asTarget)
- .filter(mapping.contains)
+ .filter(mapping.value.contains)
assert(evaluated == expected)
}
diff --git a/core/src/test/scala/mill/main/MainTests.scala b/core/src/test/scala/mill/main/MainTests.scala
index 4955112d..73060479 100644
--- a/core/src/test/scala/mill/main/MainTests.scala
+++ b/core/src/test/scala/mill/main/MainTests.scala
@@ -6,16 +6,16 @@ import mill.discover.{Discovered, Mirror}
import mill.util.TestGraphs._
import mill.util.TestUtil.test
import utest._
-
+import Discovered.mapping
object MainTests extends TestSuite{
- def check[T: Discovered](obj: T,
- selectorString: String,
- expected: Either[String, Task[_]]) = {
- val mirror = implicitly[Discovered[T]].mirror
+ def check[T](mapping: Discovered.Mapping[T],
+ selectorString: String,
+ expected: Either[String, Task[_]]) = {
+
val resolved = for{
args <- mill.Main.parseArgs(selectorString)
val crossSelectors = args.map{case Mirror.Segment.Cross(x) => x.toList.map(_.toString) case _ => Nil}
- task <- mill.main.Resolve.resolve(args, mirror, obj, Nil, crossSelectors, Nil)
+ task <- mill.main.Resolve.resolve(args, mapping.mirror, mapping.base, Nil, crossSelectors, Nil)
} yield task
assert(resolved == expected)
}
@@ -23,39 +23,39 @@ object MainTests extends TestSuite{
val graphs = new mill.util.TestGraphs()
import graphs._
'single - {
- 'pos - check(singleton, "single", Right(singleton.single))
- 'neg1 - check(singleton, "doesntExist", Left("Cannot resolve task doesntExist"))
- 'neg2 - check(singleton, "single.doesntExist", Left("Cannot resolve module single"))
- 'neg3 - check(singleton, "", Left("Selector cannot be empty"))
+ 'pos - check(mapping(singleton), "single", Right(singleton.single))
+ 'neg1 - check(mapping(singleton), "doesntExist", Left("Cannot resolve task doesntExist"))
+ 'neg2 - check(mapping(singleton), "single.doesntExist", Left("Cannot resolve module single"))
+ 'neg3 - check(mapping(singleton), "", Left("Selector cannot be empty"))
}
'nested - {
- 'pos1 - check(nestedModule, "single", Right(nestedModule.single))
- 'pos2 - check(nestedModule, "nested.single", Right(nestedModule.nested.single))
- 'pos3 - check(nestedModule, "classInstance.single", Right(nestedModule.classInstance.single))
- 'neg1 - check(nestedModule, "doesntExist", Left("Cannot resolve task doesntExist"))
- 'neg2 - check(nestedModule, "single.doesntExist", Left("Cannot resolve module single"))
- 'neg3 - check(nestedModule, "nested.doesntExist", Left("Cannot resolve task nested.doesntExist"))
- 'neg4 - check(nestedModule, "classInstance.doesntExist", Left("Cannot resolve task classInstance.doesntExist"))
+ 'pos1 - check(mapping(nestedModule), "single", Right(nestedModule.single))
+ 'pos2 - check(mapping(nestedModule), "nested.single", Right(nestedModule.nested.single))
+ 'pos3 - check(mapping(nestedModule), "classInstance.single", Right(nestedModule.classInstance.single))
+ 'neg1 - check(mapping(nestedModule), "doesntExist", Left("Cannot resolve task doesntExist"))
+ 'neg2 - check(mapping(nestedModule), "single.doesntExist", Left("Cannot resolve module single"))
+ 'neg3 - check(mapping(nestedModule), "nested.doesntExist", Left("Cannot resolve task nested.doesntExist"))
+ 'neg4 - check(mapping(nestedModule), "classInstance.doesntExist", Left("Cannot resolve task classInstance.doesntExist"))
}
'cross - {
'single - {
- 'pos1 - check(singleCross, "cross[210].suffix", Right(singleCross.cross("210").suffix))
- 'pos2 - check(singleCross, "cross[211].suffix", Right(singleCross.cross("211").suffix))
- 'neg1 - check(singleCross, "cross[210].doesntExist", Left("Cannot resolve task cross[210].doesntExist"))
- 'neg2 - check(singleCross, "cross[doesntExist].doesntExist", Left("Cannot resolve cross cross[doesntExist]"))
- 'neg2 - check(singleCross, "cross[doesntExist].suffix", Left("Cannot resolve cross cross[doesntExist]"))
+ 'pos1 - check(mapping(singleCross), "cross[210].suffix", Right(singleCross.cross("210").suffix))
+ 'pos2 - check(mapping(singleCross), "cross[211].suffix", Right(singleCross.cross("211").suffix))
+ 'neg1 - check(mapping(singleCross), "cross[210].doesntExist", Left("Cannot resolve task cross[210].doesntExist"))
+ 'neg2 - check(mapping(singleCross), "cross[doesntExist].doesntExist", Left("Cannot resolve cross cross[doesntExist]"))
+ 'neg2 - check(mapping(singleCross), "cross[doesntExist].suffix", Left("Cannot resolve cross cross[doesntExist]"))
}
'double - {
'pos1 - check(
- doubleCross,
+ mapping(doubleCross),
"cross[jvm,210].suffix",
Right(doubleCross.cross("jvm", "210").suffix)
)
'pos2 - check(
- doubleCross,
+ mapping(doubleCross),
"cross[jvm,211].suffix",
Right(doubleCross.cross("jvm", "211").suffix)
)
@@ -63,24 +63,24 @@ object MainTests extends TestSuite{
'nested - {
'indirect - {
'pos1 - check(
- indirectNestedCrosses,
+ mapping(indirectNestedCrosses),
"cross[210].cross2[js].suffix",
Right(indirectNestedCrosses.cross("210").cross2("js").suffix)
)
'pos2 - check(
- indirectNestedCrosses,
+ mapping(indirectNestedCrosses),
"cross[211].cross2[jvm].suffix",
Right(indirectNestedCrosses.cross("211").cross2("jvm").suffix)
)
}
'direct - {
'pos1 - check(
- nestedCrosses,
+ mapping(nestedCrosses),
"cross[210].cross2[js].suffix",
Right(nestedCrosses.cross("210").cross2("js").suffix)
)
'pos2 - check(
- nestedCrosses,
+ mapping(nestedCrosses),
"cross[211].cross2[jvm].suffix",
Right(nestedCrosses.cross("211").cross2("jvm").suffix)
)