diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-19 14:44:15 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-19 14:44:24 -0800 |
commit | fb8c75c01f86f41a62e549eb03953789658f7cae (patch) | |
tree | b91a7448157def5cdf1d0e04705916d04e39f2c9 /main/test/src | |
parent | 790c21c976e5c2944ba7f729e0c5762de8f51baf (diff) | |
download | mill-fb8c75c01f86f41a62e549eb03953789658f7cae.tar.gz mill-fb8c75c01f86f41a62e549eb03953789658f7cae.tar.bz2 mill-fb8c75c01f86f41a62e549eb03953789658f7cae.zip |
Improve error reporting for NamedTasks with the wrong number of parameters
Diffstat (limited to 'main/test/src')
-rw-r--r-- | main/test/src/mill/define/MacroErrorTests.scala | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/main/test/src/mill/define/MacroErrorTests.scala b/main/test/src/mill/define/MacroErrorTests.scala index a389feaa..c8b140fa 100644 --- a/main/test/src/mill/define/MacroErrorTests.scala +++ b/main/test/src/mill/define/MacroErrorTests.scala @@ -15,6 +15,68 @@ object MacroErrorTests extends TestSuite{ assert(err.msg == expectedMsg) } + 'badParameterSets - { + 'command - { + val e = compileError(""" + object foo extends mill.util.TestUtil.BaseModule{ + def w = T.command{1} + } + mill.define.Discover[foo.type] + """) + assert( + e.msg.contains("`T.command` definitions must have 1 parameter list"), + e.pos.contains("def w = ") + ) + } + 'target - { + val e = compileError(""" + object foo extends mill.util.TestUtil.BaseModule{ + def x() = T{1} + } + mill.define.Discover[foo.type] + """) + assert( + e.msg.contains("`T{...}` definitions must have 0 parameter lists"), + e.pos.contains("def x() = ") + ) + } + 'input - { + val e = compileError(""" + object foo extends mill.util.TestUtil.BaseModule{ + def y() = T.input{1} + } + mill.define.Discover[foo.type] + """) + assert( + e.msg.contains("`T.input` definitions must have 0 parameter lists"), + e.pos.contains("def y() = ") + ) + } + 'sources - { + val e = compileError(""" + object foo extends mill.util.TestUtil.BaseModule{ + def z() = T.sources{ammonite.ops.pwd} + } + mill.define.Discover[foo.type] + """) + assert( + e.msg.contains("`T.sources` definitions must have 0 parameter lists"), + e.pos.contains("def z() = ") + ) + } + 'persistent - { + val e = compileError(""" + object foo extends mill.util.TestUtil.BaseModule{ + def a() = T.persistent{1} + } + mill.define.Discover[foo.type] + """) + assert( + e.msg.contains("`T.persistent` definitions must have 0 parameter lists"), + e.pos.contains("def a() = ") + ) + } + } 'badTmacro - { // Make sure we can reference values from outside the T{...} block as part // of our `Target#apply()` calls, but we cannot reference any values that |