diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 53919413..eb356dd1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,11 @@ on: jobs: test: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + os: [ 'ubuntu-latest', 'windows-latest' ] java: [ '8', '11' ] scala: [ { version: '2.11.12' }, diff --git a/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala b/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala index 98667dd0..c0a58922 100644 --- a/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala +++ b/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala @@ -50,7 +50,7 @@ object Serializer { |# - description (can be multi-line) |# '\f' sign |# ------------------------------------------ - |""".stripMargin) + |""".stripMargin.replaceAll("(\r\n)|\n|\r", "\n")) } def writeStatement(stmt: Statement, writer: Writer): Unit = { @@ -71,7 +71,7 @@ object Serializer { |${stmt.ignored} |${stmt.desc} |\f - |""".stripMargin) + |""".stripMargin.replaceAll("(\r\n)|\n|\r", "\n")) } writeHeader(writer) diff --git a/scalac-scoverage-plugin/src/test/scala/scoverage/ScoverageCompiler.scala b/scalac-scoverage-plugin/src/test/scala/scoverage/ScoverageCompiler.scala index f1e0fe0b..01afc847 100644 --- a/scalac-scoverage-plugin/src/test/scala/scoverage/ScoverageCompiler.scala +++ b/scalac-scoverage-plugin/src/test/scala/scoverage/ScoverageCompiler.scala @@ -83,9 +83,12 @@ object ScoverageCompiler { version: String ): Option[File] = { val userHome = System.getProperty("user.home") - val jarPaths = Seq( - s"$userHome/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/$artifactId/$version/$artifactId-$version.jar", - s"$userHome/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/$artifactId/$version/$artifactId-$version.jar" + val jarPaths = Iterator( + ".cache/coursier", // Linux + "Library/Caches/Coursier", // MacOSX + "AppData/Local/Coursier/cache" // Windows + ).map(loc => + s"$userHome/$loc/v1/https/repo1.maven.org/maven2/org/scala-lang/$artifactId/$version/$artifactId-$version.jar" ) jarPaths.map(new File(_)).find(_.exists()) } diff --git a/scalac-scoverage-plugin/src/test/scala/scoverage/SerializerTest.scala b/scalac-scoverage-plugin/src/test/scala/scoverage/SerializerTest.scala index ea010c8f..b8108c65 100644 --- a/scalac-scoverage-plugin/src/test/scala/scoverage/SerializerTest.scala +++ b/scalac-scoverage-plugin/src/test/scala/scoverage/SerializerTest.scala @@ -67,7 +67,7 @@ class SerializerTest extends AnyFunSuite with OneInstancePerTest { |false |def test : String |\f - |""".stripMargin + |""".stripMargin.replaceAll("(\r\n)|\n|\r", "\n") val writer = new StringWriter() //TODO-use UTF-8 val actual = Serializer.serialize(coverage, writer) assert(expected === writer.toString) @@ -111,7 +111,7 @@ class SerializerTest extends AnyFunSuite with OneInstancePerTest { |false |def test : String |\f - |""".stripMargin.split("\n").iterator + |""".stripMargin.split("(\r\n)|\n|\r").iterator val statements = List( Statement( Location(