diff --git a/notes/0.13.6.md b/notes/0.13.6.md index 6794ed72d..c542ee36c 100644 --- a/notes/0.13.6.md +++ b/notes/0.13.6.md @@ -34,6 +34,7 @@ [1476]: https://github.com/sbt/sbt/pull/1476 [1477]: https://github.com/sbt/sbt/pull/1477 [1486]: https://github.com/sbt/sbt/pull/1486 + [1487]: https://github.com/sbt/sbt/pull/1487 [@dansanduleac]: https://github.com/dansanduleac [@2m]: https://github.com/2m [@pvlugter]: https://github.com/pvlugter @@ -78,6 +79,7 @@ - Fixes cross versioning to recognize version number with mutiple -tags. [#1433][1433] by [@henrikengstrom][@henrikengstrom] - Works around "Not a simple type" breaking `-Xfatal-warnings`. [#1477][1477] by [@puffnfresh][@puffnfresh] - Fixes sLog usage in tandem with the `set` comamnd [#1486][1486] [@jsuereth][@jsuereth] +- Test suites with whitespace will have prettier filenames [#1487][1487] [@jsuereth][@jsuereth] ### enablePlugins/disablePlugins diff --git a/testing/src/main/scala/sbt/JUnitXmlTestsListener.scala b/testing/src/main/scala/sbt/JUnitXmlTestsListener.scala index 16f7bfc45..815a1110d 100644 --- a/testing/src/main/scala/sbt/JUnitXmlTestsListener.scala +++ b/testing/src/main/scala/sbt/JUnitXmlTestsListener.scala @@ -2,6 +2,7 @@ package sbt import java.io.{ StringWriter, PrintWriter, File } import java.net.InetAddress + import scala.collection.mutable.ListBuffer import scala.util.DynamicVariable import scala.xml.{ Elem, Node => XNode, XML } @@ -154,8 +155,12 @@ class JUnitXmlTestsListener(val outputDir: String) extends TestsListener { writeSuite() } + // Here we normalize the name to ensure that it's a nicer filename, rather than + // contort the user into not using spaces. + private[this] def normalizeName(s: String) = s.replaceAll("""\s+""", "-") + private def writeSuite() = { - val file = new File(targetDir, testSuite.value.name + ".xml").getAbsolutePath + val file = new File(targetDir, s"${normalizeName(testSuite.value.name)}.xml").getAbsolutePath // TODO would be nice to have a logger and log this with level debug // System.err.println("Writing JUnit XML test report: " + file) XML.save(file, testSuite.value.stop(), "UTF-8", true, null)