Skip to content

Commit 37ba541

Browse files
committed
WIP 49 - correct positions of build script files
1 parent 49e1ffc commit 37ba541

File tree

9 files changed

+418
-136
lines changed

9 files changed

+418
-136
lines changed

integration/failure/compile-error/src/CompileErrorTests.scala

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,26 @@ object CompileErrorTests extends IntegrationTestSuite {
1111
test {
1212
val res = eval("foo.scalaVersion")
1313

14-
assert(res.isSuccess == false)
15-
assert(res.err.contains("""bar.mill:15:9: not found: value doesntExist"""))
16-
assert(res.err.contains("""println(doesntExist)"""))
17-
assert(res.err.contains("""qux.mill:4:34: type mismatch;"""))
18-
assert(res.err.contains(
19-
"""build.mill:9:5: value noSuchMethod is not a member"""
20-
))
14+
assert(!res.isSuccess)
15+
16+
locally {
17+
assert(res.err.contains("""bar.mill:15:9"""))
18+
assert(res.err.contains("""println(doesntExist)"""))
19+
assert(res.err.contains("""Not found: doesntExist"""))
20+
}
21+
22+
locally {
23+
assert(res.err.contains("""qux.mill:4:34"""))
24+
assert(res.err.contains("""myMsg.substring("0")"""))
25+
assert(res.err.contains("""Found: ("0" : String)"""))
26+
assert(res.err.contains("""Required: Int"""))
27+
}
28+
29+
locally {
30+
assert(res.err.contains("""build.mill:9:5"""))
31+
assert(res.err.contains("""foo.noSuchMethod"""))
32+
assert(res.err.contains("""value noSuchMethod is not a member"""))
33+
}
2134
}
2235
}
2336
}

integration/failure/root-module-compile-error/src/RootModuleCompileErrorTests.scala

Lines changed: 63 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,69 @@ object RootModuleCompileErrorTests extends IntegrationTestSuite {
1111
test {
1212
val res = eval("foo.scalaVersion")
1313

14-
assert(res.isSuccess == false)
15-
// For now these error messages still show generated/mangled code; not ideal, but it'll do
16-
assert(res.err.contains("""build.mill:6:42: not found: type UnknownRootModule"""))
17-
assert(res.err.contains("""class package_ extends RootModule with UnknownRootModule {"""))
18-
assert(res.err.replace('\\', '/').contains(
19-
"""foo/package.mill:6:59: not found: type UnknownFooModule"""
20-
))
21-
assert(res.err.contains(
22-
"""class package_ extends RootModule.Subfolder("foo") with UnknownFooModule {"""
23-
))
24-
25-
assert(res.err.contains("""build.mill:7:22: not found: value unknownRootInternalDef"""))
26-
assert(res.err.contains("""def scalaVersion = unknownRootInternalDef"""))
27-
assert(res.err.contains("""build.mill:4:23: not found: type UnknownBeforeModule"""))
28-
assert(res.err.contains("""object before extends UnknownBeforeModule"""))
29-
assert(res.err.contains("""build.mill:10:22: not found: type UnknownAfterModule"""))
30-
assert(res.err.contains("""object after extends UnknownAfterModule"""))
31-
32-
assert(res.err.replace('\\', '/').contains(
33-
"""foo/package.mill:7:22: not found: value unknownFooInternalDef"""
34-
))
35-
assert(res.err.contains("""def scalaVersion = unknownFooInternalDef"""))
36-
assert(res.err.replace('\\', '/').contains(
37-
"""foo/package.mill:4:23: not found: type UnknownBeforeFooModule"""
38-
))
39-
assert(res.err.contains("""object before extends UnknownBeforeFooModule"""))
40-
assert(res.err.replace('\\', '/').contains(
41-
"""foo/package.mill:10:22: not found: type UnknownAfterFooModule"""
42-
))
43-
assert(res.err.contains("""object after extends UnknownAfterFooModule"""))
14+
assert(!res.isSuccess)
15+
16+
locally {
17+
// For now these error messages still show generated/mangled code; not ideal, but it'll do
18+
assert(res.err.contains("""build.mill:6:42"""))
19+
assert(res.err.contains("""Not found: type UnknownRootModule"""))
20+
assert(res.err.contains("""class package_ extends RootModule with UnknownRootModule {"""))
21+
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^"""))
22+
}
23+
24+
locally {
25+
// For now these error messages still show generated/mangled code; not ideal, but it'll do
26+
assert(res.err.replace('\\', '/').contains("""foo/package.mill:6:59"""))
27+
assert(res.err.contains("""Not found: type UnknownFooModule"""))
28+
assert(res.err.contains(
29+
"""class package_ extends RootModule.Subfolder("foo") with UnknownFooModule {"""
30+
))
31+
assert(res.err.contains(
32+
""" ^^^^^^^^^^^^^^^^"""
33+
))
34+
}
35+
36+
locally {
37+
assert(res.err.contains("""build.mill:7:22"""))
38+
assert(res.err.contains("""Not found: unknownRootInternalDef"""))
39+
assert(res.err.contains("""def scalaVersion = unknownRootInternalDef"""))
40+
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^^"""))
41+
}
42+
43+
locally {
44+
assert(res.err.contains("""build.mill:4:23"""))
45+
assert(res.err.contains("""Not found: type UnknownBeforeModule"""))
46+
assert(res.err.contains("""object before extends UnknownBeforeModule"""))
47+
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^"""))
48+
}
49+
50+
locally {
51+
assert(res.err.contains("""build.mill:10:22"""))
52+
assert(res.err.contains("""Not found: type UnknownAfterModule"""))
53+
assert(res.err.contains("""object after extends UnknownAfterModule"""))
54+
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^"""))
55+
}
56+
57+
locally {
58+
assert(res.err.replace('\\', '/').contains("""foo/package.mill:7:22"""))
59+
assert(res.err.contains("""Not found: unknownFooInternalDef"""))
60+
assert(res.err.contains("""def scalaVersion = unknownFooInternalDef"""))
61+
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^"""))
62+
}
63+
64+
locally {
65+
assert(res.err.replace('\\', '/').contains("""foo/package.mill:4:23"""))
66+
assert(res.err.contains("""Not found: type UnknownBeforeFooModule"""))
67+
assert(res.err.contains("""object before extends UnknownBeforeFooModule"""))
68+
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^^"""))
69+
}
70+
71+
locally {
72+
assert(res.err.replace('\\', '/').contains("""foo/package.mill:10:22"""))
73+
assert(res.err.contains("""Not found: type UnknownAfterFooModule"""))
74+
assert(res.err.contains("""object after extends UnknownAfterFooModule"""))
75+
assert(res.err.contains(""" ^^^^^^^^^^^^^^^^^^^^^"""))
76+
}
4477
}
4578
}
4679
}

integration/failure/subfolder-helper-module-collision/src/SubfolderHelperModuleCollisionTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ object SubfolderHelperModuleCollisionTests extends IntegrationTestSuite {
1212
val res = eval(("resolve", "_"))
1313
assert(res.isSuccess == false)
1414
// Not a great error message but it will have to do for now
15-
assert(res.err.contains("sub is already defined as object sub"))
15+
assert(res.err.contains("Trying to define package with same name as class sub"))
1616
}
1717
}
1818
}

integration/failure/subfolder-missing-build-prefix/src/SubfolderMissingBuildPrefix.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ object SubfolderMissingBuildPrefix extends IntegrationTestSuite {
1010

1111
test("success") {
1212
val res = eval(("resolve", "_"))
13-
assert(res.isSuccess == false)
14-
assert(res.err.contains("object y is not a member of package build_.sub"))
13+
assert(!res.isSuccess)
14+
assert(res.err.contains("value y is not a member of build_.sub"))
1515
}
1616
}
1717
}

integration/failure/things-outside-top-level-module/src/ThingsOutsideTopLevelModuleTests.scala

Lines changed: 0 additions & 26 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package build
2-
import mill._
2+
import mill.*
33

44
def invalidTarget = 123
55

6-
76
object `package` extends RootModule
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import mill.testkit.IntegrationTestSuite
2+
import utest.{assert, *}
3+
4+
object ThingsOutsideTopLevelModuleTests extends IntegrationTestSuite {
5+
val tests: Tests = Tests {
6+
initWorkspace()
7+
8+
test("success") {
9+
val res = eval(("resolve", "_"))
10+
assert(res.isSuccess)
11+
}
12+
}
13+
}

scalalib/src/mill/scalalib/Assembly.scala

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,8 @@ object Assembly {
2121

2222
private object Streamable {
2323
def bytes(is: InputStream): Array[Byte] = {
24-
val buffer = new Array[Byte](8192)
2524
val out = new java.io.ByteArrayOutputStream
26-
var read = 0
27-
while ({
28-
read = is.read(buffer)
29-
read != -1
30-
}) {
31-
out.write(buffer, 0, read)
32-
}
25+
IO.stream(is, out)
3326
out.close()
3427
out.toByteArray
3528
}

0 commit comments

Comments
 (0)