summaryrefslogtreecommitdiff
path: root/core/src/test
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-12-31 00:04:49 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-12-31 00:50:11 -0800
commit13f896a36eb275de9784ce3400dde09311afd6bd (patch)
treeb4effd6451be0b1c1d74bfbb380b668950b522d1 /core/src/test
parent982b1e07cb512d6a48c859950b7aa8ce9746dd25 (diff)
downloadmill-13f896a36eb275de9784ce3400dde09311afd6bd.tar.gz
mill-13f896a36eb275de9784ce3400dde09311afd6bd.tar.bz2
mill-13f896a36eb275de9784ce3400dde09311afd6bd.zip
- Convert `T.source` into a generic `Target` that flushes the cache every time
- Prepare `T.ctx().base: Path` that `Task`s (including `T.source`) can use to find a "default" path for source files. - Simplify `Cacher`
Diffstat (limited to 'core/src/test')
-rw-r--r--core/src/test/scala/mill/define/CacherTests.scala2
-rw-r--r--core/src/test/scala/mill/eval/EvaluationTests.scala2
-rw-r--r--core/src/test/scala/mill/eval/FailureTests.scala2
-rw-r--r--core/src/test/scala/mill/eval/JavaCompileJarTests.scala17
-rw-r--r--core/src/test/scala/mill/util/TestEvaluator.scala10
5 files changed, 18 insertions, 15 deletions
diff --git a/core/src/test/scala/mill/define/CacherTests.scala b/core/src/test/scala/mill/define/CacherTests.scala
index d85e9e6b..e46c0390 100644
--- a/core/src/test/scala/mill/define/CacherTests.scala
+++ b/core/src/test/scala/mill/define/CacherTests.scala
@@ -29,7 +29,7 @@ object CacherTests extends TestSuite{
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, mapping, DummyLogger)
+ val evaluator = new Evaluator(workspace, ammonite.ops.pwd, mapping, DummyLogger)
evaluator.evaluate(OSet(v)).values(0)
}
diff --git a/core/src/test/scala/mill/eval/EvaluationTests.scala b/core/src/test/scala/mill/eval/EvaluationTests.scala
index 75a6cc52..fb3f6b97 100644
--- a/core/src/test/scala/mill/eval/EvaluationTests.scala
+++ b/core/src/test/scala/mill/eval/EvaluationTests.scala
@@ -15,7 +15,7 @@ object EvaluationTests extends TestSuite{
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, mapping, DummyLogger)
+ def evaluator = new Evaluator(workspace, ammonite.ops.pwd, mapping, DummyLogger)
def apply(target: Task[_], expValue: Any,
expEvaled: OSet[Task[_]],
diff --git a/core/src/test/scala/mill/eval/FailureTests.scala b/core/src/test/scala/mill/eval/FailureTests.scala
index 42331a74..c77ad74b 100644
--- a/core/src/test/scala/mill/eval/FailureTests.scala
+++ b/core/src/test/scala/mill/eval/FailureTests.scala
@@ -14,7 +14,7 @@ object FailureTests extends TestSuite{
}
class Checker(mapping: Discovered.Mapping[_])(implicit tp: TestPath){
- val evaluator = new Evaluator(workspace, mapping, DummyLogger)
+ val evaluator = new Evaluator(workspace, ammonite.ops.pwd, mapping, DummyLogger)
def apply(target: Target[_], expectedFailCount: Int, expectedRawValues: Seq[Result[_]]) = {
diff --git a/core/src/test/scala/mill/eval/JavaCompileJarTests.scala b/core/src/test/scala/mill/eval/JavaCompileJarTests.scala
index 0efd0bf1..667aaa22 100644
--- a/core/src/test/scala/mill/eval/JavaCompileJarTests.scala
+++ b/core/src/test/scala/mill/eval/JavaCompileJarTests.scala
@@ -2,7 +2,7 @@ package mill.eval
import ammonite.ops.ImplicitWd._
import ammonite.ops._
-import mill.define.{Target, Task}
+import mill.define.{Source, Target, Task}
import mill.discover.Discovered
import mill.modules.Jvm
import mill.util.Ctx.DestCtx
@@ -36,8 +36,8 @@ object JavaCompileJarTests extends TestSuite{
// |
// v
// resourceRoot ----> jar
- def sourceRoot = T.source{ sourceRootPath }
- def resourceRoot = T.source{ resourceRootPath }
+ def sourceRoot = T.source{ PathRef(sourceRootPath) }
+ def resourceRoot = T.source{ PathRef(resourceRootPath) }
def allSources = T{ ls.rec(sourceRoot().path).map(PathRef(_)) }
def classFiles = T{ compileAll(allSources()) }
def jar = T{ Jvm.createJar(Seq(resourceRoot().path, classFiles().path)) }
@@ -51,7 +51,7 @@ object JavaCompileJarTests extends TestSuite{
val mapping = Discovered.mapping(Build)
def eval[T](t: Task[T]) = {
- val evaluator = new Evaluator(workspacePath, mapping, DummyLogger)
+ val evaluator = new Evaluator(workspacePath, pwd, mapping, DummyLogger)
val evaluated = evaluator.evaluate(OSet(t))
if (evaluated.failing.keyCount == 0){
@@ -68,12 +68,13 @@ object JavaCompileJarTests extends TestSuite{
}
def check(targets: OSet[Task[_]], expected: OSet[Task[_]]) = {
- val evaluator = new Evaluator(workspacePath, mapping, DummyLogger)
+ val evaluator = new Evaluator(workspacePath, pwd, mapping, DummyLogger)
val evaluated = evaluator.evaluate(targets)
.evaluated
.flatMap(_.asTarget)
.filter(mapping.targets.contains)
+ .filter(!_.isInstanceOf[Source[_]])
assert(evaluated == expected)
}
@@ -144,7 +145,7 @@ object JavaCompileJarTests extends TestSuite{
val Right((runOutput, evalCount)) = eval(Build.run("test.Foo"))
assert(
runOutput.out.string == (31337 + 271828) + "\n",
- evalCount == 1
+ evalCount == 2
)
}
@@ -165,12 +166,12 @@ object JavaCompileJarTests extends TestSuite{
val Right((runOutput2, evalCount2)) = eval(Build.run("test.BarFour"))
assert(
runOutput2.out.string == "New Cls!\n",
- evalCount2 == 3
+ evalCount2 == 4
)
val Right((runOutput3, evalCount3)) = eval(Build.run("test.BarFour"))
assert(
runOutput3.out.string == "New Cls!\n",
- evalCount3 == 1
+ evalCount3 == 2
)
}
}
diff --git a/core/src/test/scala/mill/util/TestEvaluator.scala b/core/src/test/scala/mill/util/TestEvaluator.scala
index 5d16de43..6ae90167 100644
--- a/core/src/test/scala/mill/util/TestEvaluator.scala
+++ b/core/src/test/scala/mill/util/TestEvaluator.scala
@@ -1,12 +1,14 @@
package mill.util
import ammonite.ops.Path
-import mill.define.{Target, Task}
+import mill.define.{Source, Target, Task}
import mill.discover.{Discovered, Mirror}
import mill.eval.{Evaluator, Result}
-class TestEvaluator(mapping: Discovered.Mapping[_], workspacePath: Path){
- val evaluator = new Evaluator(workspacePath, mapping, DummyLogger)
+class TestEvaluator(mapping: Discovered.Mapping[_],
+ workspacePath: Path,
+ basePath: Path){
+ val evaluator = new Evaluator(workspacePath, basePath, mapping, DummyLogger)
def apply[T](t: Task[T]): Either[Result.Failing, (T, Int)] = {
val evaluated = evaluator.evaluate(OSet(t))
@@ -16,7 +18,7 @@ class TestEvaluator(mapping: Discovered.Mapping[_], workspacePath: Path){
Tuple2(
evaluated.rawValues.head.asInstanceOf[Result.Success[T]].value,
evaluated.evaluated.collect {
- case t: Target[_] if mapping.targets.contains(t) => t
+ case t: Target[_] if mapping.targets.contains(t) && !t.isInstanceOf[Source[_]] => t
case t: mill.define.Command[_] => t
}.size
))