From 8de77d1de6ba5993b72a35daec29fcfe81fb1c65 Mon Sep 17 00:00:00 2001 From: Piotr Chabelski Date: Tue, 10 Jun 2025 10:13:57 +0200 Subject: [PATCH] Add an integration test for whether `-Werror`/`-Xfatal-warnings` fails a compilation with Bloop properly --- .../CompileScalacCompatTestDefinitions.scala | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/modules/integration/src/test/scala/scala/cli/integration/CompileScalacCompatTestDefinitions.scala b/modules/integration/src/test/scala/scala/cli/integration/CompileScalacCompatTestDefinitions.scala index e159940b9c..1e597b1558 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/CompileScalacCompatTestDefinitions.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/CompileScalacCompatTestDefinitions.scala @@ -228,4 +228,28 @@ trait CompileScalacCompatTestDefinitions { _: CompileTestDefinitions => } } } + + test(s"${ + if (actualScalaVersion.startsWith("2.12")) "-Xfatal-warnings" else "-Werror" + } should fail the build on warnings") { + TestInputs( + os.rel / "Main.scala" -> + """object Something { + | def foo = { + | val x = 1 + | 2 + | } + |} + |""".stripMargin + ).fromRoot { root => + val scalacOpts = actualScalaVersion match { + case v if v.startsWith("2.12.") => Seq("-Xfatal-warnings", "-Ywarn-unused:_") + case v if v.startsWith("2.13.") => Seq("-Werror", "-Wunused") + case _ => Seq("-Werror", "-Wunused:all") + } + val r = os.proc(TestUtil.cli, "compile", ".", extraOptions, scalacOpts) + .call(cwd = root, check = false, stderr = os.Pipe) + expect(r.exitCode != 0) + } + } }