From 2dc62250d53bcab806467900fcd8225425e90573 Mon Sep 17 00:00:00 2001 From: Jan Chyb Date: Mon, 10 Jan 2022 15:03:55 +0100 Subject: [PATCH] Add test for the issue #525 --- .../scala/scala/build/tests/BuildTests.scala | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/modules/build/src/test/scala/scala/build/tests/BuildTests.scala b/modules/build/src/test/scala/scala/build/tests/BuildTests.scala index 7b33cb8fcc..2a2ac9ea02 100644 --- a/modules/build/src/test/scala/scala/build/tests/BuildTests.scala +++ b/modules/build/src/test/scala/scala/build/tests/BuildTests.scala @@ -775,4 +775,29 @@ class BuildTests extends munit.FunSuite { assert(maybeBuild.toOption.get.options.scalaNativeOptions.linkingOptions.isEmpty) } } + + // Issue #525 + test("scalac options not spuriously duplicating") { + val inputs = TestInputs( + os.rel / "foo.scala" -> + """// using scala "2.13" + |// using options "-deprecation", "-feature", "-Xmaxwarns", "1" + |// using option "-Xdisable-assertions" + | + |def foo = "bar" + |""".stripMargin + ) + + val buildOptions: BuildOptions = defaultOptions.copy( + internal = defaultOptions.internal.copy( + keepDiagnostics = true + ) + ) + + inputs.withBuild(buildOptions, buildThreads, bloopConfig) { (_, _, maybeBuild) => + val expectedOptions = + Seq("-deprecation", "-feature", "-Xmaxwarns", "1", "-Xdisable-assertions") + assert(maybeBuild.toOption.get.options.scalaOptions.scalacOptions == expectedOptions) + } + } }