summaryrefslogtreecommitdiff
path: root/core/src/test
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-11-18 13:36:13 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-11-18 13:36:13 -0800
commita15ea041996029f406377ad7474b1f3e8154ab5d (patch)
tree4ce17286e81a8d3ae01b028a60444fba69bcf995 /core/src/test
parent910b49da3f068768fd5826407759aa4defbcfdf4 (diff)
downloadmill-a15ea041996029f406377ad7474b1f3e8154ab5d.tar.gz
mill-a15ea041996029f406377ad7474b1f3e8154ab5d.tar.bz2
mill-a15ea041996029f406377ad7474b1f3e8154ab5d.zip
Force compile errors for missing implicits in `Discovered` materialization to point at their source methods, for easier fixing
Diffstat (limited to 'core/src/test')
-rw-r--r--core/src/test/scala/mill/discover/DiscoveredTests.scala31
-rw-r--r--core/src/test/scala/mill/eval/EvaluationTests.scala1
2 files changed, 30 insertions, 2 deletions
diff --git a/core/src/test/scala/mill/discover/DiscoveredTests.scala b/core/src/test/scala/mill/discover/DiscoveredTests.scala
index dae7ff1b..843ec474 100644
--- a/core/src/test/scala/mill/discover/DiscoveredTests.scala
+++ b/core/src/test/scala/mill/discover/DiscoveredTests.scala
@@ -1,7 +1,9 @@
package mill.discover
+import java.io.InputStreamReader
+
import utest._
-import mill.Module
+import mill.{Module, T}
import mill.util.TestUtil.test
object DiscoveredTests extends TestSuite{
@@ -48,5 +50,32 @@ object DiscoveredTests extends TestSuite{
)
assert(mapped.toSet == expected.toSet)
}
+ 'compileError - {
+ 'unserializableTarget - {
+
+ object outer extends Module {
+ def single = mill.T{ new InputStreamReader(System.in) }
+ }
+
+ val error = compileError("Discovered[outer.type]")
+ assert(
+ error.msg.contains("could not find implicit value"),
+ error.pos.contains("def single = mill.T{ new InputStreamReader(System.in) }")
+ )
+ }
+
+ 'unreadableCommand - {
+ object outer extends Module {
+ def single(in: InputStreamReader) = mill.T.command{ println(123) }
+ }
+
+ val error = compileError("Discovered[outer.type]")
+
+ assert(
+ error.msg.contains("could not find implicit value"),
+ error.pos.contains("def single(in: InputStreamReader) = mill.T.command{ println(123) }")
+ )
+ }
+ }
}
}
diff --git a/core/src/test/scala/mill/eval/EvaluationTests.scala b/core/src/test/scala/mill/eval/EvaluationTests.scala
index ccb476e7..9a177b58 100644
--- a/core/src/test/scala/mill/eval/EvaluationTests.scala
+++ b/core/src/test/scala/mill/eval/EvaluationTests.scala
@@ -5,7 +5,6 @@ import mill.util.TestUtil.{Test, test}
import mill.define.{Target, Task}
import mill.{Module, T}
import mill.discover.Discovered
-import mill.eval.Evaluator
import mill.util.{OSet, TestUtil}
import utest._
import utest.framework.TestPath