From c84f7b0007452331612bcb985c8a3e987d7f4845 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Tue, 15 Nov 2022 01:17:59 +0000 Subject: [PATCH] Cross-build tests --- build.sbt | 5 +++++ .../schemas/decoders/InputStreamSuite.scala | 19 +++++-------------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/build.sbt b/build.sbt index e5b4def1..3dabdc83 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,7 @@ val clueVersion = "0.23.1" val lucumaCoreVersion2 = "0.45.0" val lucumaCoreVersion = "0.58.0" +val fs2Version = "3.3.0" val munitVersion = "0.7.29" val munitCatsEffectVersion = "1.0.7" val kittensVersion = "3.0.0" @@ -38,6 +39,7 @@ val lucumaSchemas = "edu.gemini" %%% "clue-core" % clueVersion, "edu.gemini" %%% "lucuma-core" % lucumaCoreVersion, "org.typelevel" %%% "kittens" % kittensVersion, + "co.fs2" %%% "fs2-io" % fs2Version % Test, "org.scalameta" %%% "munit" % munitVersion % Test, "org.typelevel" %%% "munit-cats-effect-3" % munitCatsEffectVersion % Test ), @@ -57,3 +59,6 @@ val lucumaSchemas = // Include schema files from templates in jar. Compile / unmanagedResourceDirectories += (templates / Compile / resourceDirectory).value ) + .jsSettings( + Test / scalaJSLinkerConfig ~= (_.withModuleKind(ModuleKind.CommonJSModule)) + ) diff --git a/lucuma-schemas/src/test/scala/lucuma/schemas/decoders/InputStreamSuite.scala b/lucuma-schemas/src/test/scala/lucuma/schemas/decoders/InputStreamSuite.scala index d4d6ada0..e4dc0452 100644 --- a/lucuma-schemas/src/test/scala/lucuma/schemas/decoders/InputStreamSuite.scala +++ b/lucuma-schemas/src/test/scala/lucuma/schemas/decoders/InputStreamSuite.scala @@ -4,6 +4,7 @@ package lucuma.schemas.decoders import cats.effect._ +import fs2.io.file._ import io.circe.Decoder import io.circe.Json import io.circe.parser._ @@ -14,22 +15,12 @@ import java.io.FileInputStream import java.nio.file.Paths trait InputStreamSuite extends CatsEffectSuite { - def inputStream(f: File): Resource[IO, FileInputStream] = - Resource.make { - IO.blocking(new FileInputStream(f)) // build - } { inStream => - IO.blocking(inStream.close()).handleErrorWith(_ => IO.unit) // release - } def jsonResult(jsonFile: String): IO[Json] = { - val url = getClass.getResource(jsonFile) - val file = Paths.get(url.toURI).toFile - - inputStream(file).use { inStream => - for { - str <- IO.blocking(scala.io.Source.fromInputStream(inStream).mkString) - json <- IO.fromEither(parse(str)) - } yield json + val path = Path(s"lucuma-schemas/src/test/resources") / jsonFile + + Files[IO].readUtf8(path).compile.string.flatMap { str => + IO.fromEither(parse(str)) } }