summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNik Vanderhoof <nikolasrvanderhoof@gmail.com>2019-05-26 20:04:32 -0400
committerLi Haoyi <haoyi.sg@gmail.com>2019-05-27 08:04:32 +0800
commit64469e59c4f1e8f4691214b89e1f19c73a0311d3 (patch)
tree158ed00602a56fb81a8135c97ffa19b42571410e
parent4dbbce76262b7ddd4803a20a4decb7ec0e3ae383 (diff)
downloadmill-64469e59c4f1e8f4691214b89e1f19c73a0311d3.tar.gz
mill-64469e59c4f1e8f4691214b89e1f19c73a0311d3.tar.bz2
mill-64469e59c4f1e8f4691214b89e1f19c73a0311d3.zip
Scoverage multiple source folders (#615)
* Add test the replicates issue #613 * Fixes issue #613
-rw-r--r--contrib/scoverage/test/resources/hello-world-sbt/core/src/main/java/Baz.java2
-rw-r--r--contrib/scoverage/test/resources/hello-world-sbt/core/src/main/scala/Foo.scala1
-rw-r--r--contrib/scoverage/test/resources/hello-world-sbt/core/src/test/FooTest.scala5
-rw-r--r--contrib/scoverage/test/resources/hello-world/core/test/src/GreetSpec.scala9
-rw-r--r--contrib/scoverage/test/src/HelloWorldTests.scala34
-rw-r--r--contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala3
6 files changed, 52 insertions, 2 deletions
diff --git a/contrib/scoverage/test/resources/hello-world-sbt/core/src/main/java/Baz.java b/contrib/scoverage/test/resources/hello-world-sbt/core/src/main/java/Baz.java
new file mode 100644
index 00000000..2bc0deb1
--- /dev/null
+++ b/contrib/scoverage/test/resources/hello-world-sbt/core/src/main/java/Baz.java
@@ -0,0 +1,2 @@
+public class Baz {
+}
diff --git a/contrib/scoverage/test/resources/hello-world-sbt/core/src/main/scala/Foo.scala b/contrib/scoverage/test/resources/hello-world-sbt/core/src/main/scala/Foo.scala
new file mode 100644
index 00000000..d3c853cc
--- /dev/null
+++ b/contrib/scoverage/test/resources/hello-world-sbt/core/src/main/scala/Foo.scala
@@ -0,0 +1 @@
+object Foo
diff --git a/contrib/scoverage/test/resources/hello-world-sbt/core/src/test/FooTest.scala b/contrib/scoverage/test/resources/hello-world-sbt/core/src/test/FooTest.scala
new file mode 100644
index 00000000..c1f4acaf
--- /dev/null
+++ b/contrib/scoverage/test/resources/hello-world-sbt/core/src/test/FooTest.scala
@@ -0,0 +1,5 @@
+import org.scalatest._
+
+class FooTest extends WordSpec {
+ "Foo" should "Baz" in { assert(true) }
+}
diff --git a/contrib/scoverage/test/resources/hello-world/core/test/src/GreetSpec.scala b/contrib/scoverage/test/resources/hello-world/core/test/src/GreetSpec.scala
new file mode 100644
index 00000000..ae5562f1
--- /dev/null
+++ b/contrib/scoverage/test/resources/hello-world/core/test/src/GreetSpec.scala
@@ -0,0 +1,9 @@
+import org.scalatest._
+
+class GreetSpec extends WordSpec with Matchers {
+ "Greet" should {
+ "work" in {
+ Greet.greet("Nik", None) shouldBe("Hello, Nik!")
+ }
+ }
+}
diff --git a/contrib/scoverage/test/src/HelloWorldTests.scala b/contrib/scoverage/test/src/HelloWorldTests.scala
index 98a4201c..6d5c3032 100644
--- a/contrib/scoverage/test/src/HelloWorldTests.scala
+++ b/contrib/scoverage/test/src/HelloWorldTests.scala
@@ -9,6 +9,7 @@ import utest.framework.TestPath
object HelloWorldTests extends utest.TestSuite {
val resourcePath = os.pwd / 'contrib / 'scoverage / 'test / 'resources / "hello-world"
+ val sbtResourcePath = os.pwd / 'contrib / 'scoverage / 'test / 'resources / "hello-world-sbt"
trait HelloBase extends TestUtil.BaseModule {
def millSourcePath = TestUtil.getSrcPathBase() / millOuterCtx.enclosing.split('.')
}
@@ -25,6 +26,25 @@ object HelloWorldTests extends utest.TestSuite {
}
}
+ object HelloWorldSbt extends HelloBase { outer =>
+ object core extends ScoverageModule {
+ def scalaVersion = "2.12.4"
+ def scoverageVersion = "1.3.1"
+ override def sources = T.sources(
+ millSourcePath / 'src / 'main / 'scala,
+ millSourcePath / 'src / 'main / 'java
+ )
+ override def resources = T.sources{ millSourcePath / 'src / 'main / 'resources }
+
+ object test extends ScoverageTests {
+ override def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
+ def testFrameworks = Seq("org.scalatest.tools.Framework")
+ override def millSourcePath = outer.millSourcePath
+ override def intellijModulePath = outer.millSourcePath / 'src / 'test
+ }
+ }
+ }
+
def workspaceTest[T](m: TestUtil.BaseModule, resourcePath: os.Path = resourcePath)
(t: TestEvaluator => T)
(implicit tp: TestPath): T = {
@@ -74,6 +94,11 @@ object HelloWorldTests extends utest.TestSuite {
evalCount > 0
)
}
+ "htmlReport" - workspaceTest(HelloWorld) { eval =>
+ val Right((_, _)) = eval.apply(HelloWorld.core.test.compile)
+ val Right((result, evalCount)) = eval.apply(HelloWorld.core.scoverage.htmlReport)
+ assert(evalCount > 0)
+ }
}
"test" - {
"upstreamAssemblyClasspath" - workspaceTest(HelloWorld) { eval =>
@@ -103,5 +128,14 @@ object HelloWorldTests extends utest.TestSuite {
}
}
}
+ "HelloWorldSbt" - {
+ "scoverage" - {
+ "htmlReport" - workspaceTest(HelloWorldSbt, sbtResourcePath) { eval =>
+ val Right((_, _)) = eval.apply(HelloWorldSbt.core.test.compile)
+ val Right((result, evalCount)) = eval.apply(HelloWorldSbt.core.scoverage.htmlReport)
+ assert(evalCount > 0)
+ }
+ }
+ }
}
}
diff --git a/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala b/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
index 44f506f7..b869ea90 100644
--- a/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
+++ b/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
@@ -11,8 +11,7 @@ class ScoverageReportWorkerImpl extends ScoverageReportWorkerApi {
val coverageFileObj = coverageFile(dataDir)
val coverage = deserialize(coverageFileObj)
coverage(invoked(findMeasurementFiles(dataDir)))
- val Seq(PathRef(sourceFolderPath, _, _)) = sources
- val sourceFolders = Seq(sourceFolderPath.toIO)
+ val sourceFolders = sources.map(_.path.toIO)
val htmlFolder = new java.io.File(s"${selfDir}/htmlReport")
htmlFolder.mkdir()
new ScoverageHtmlWriter(sourceFolders, htmlFolder, None)