From 0fb07a861b2c528459dfc3fdeacd875cf86be69d Mon Sep 17 00:00:00 2001 From: Filipe Regadas Date: Tue, 19 Jun 2018 14:59:04 -0400 Subject: [PATCH] Add alternative scripted filenames --- main/src/main/scala/sbt/ScriptedPlugin.scala | 3 ++- .../sbt-test/project/test-script-file/build.sbt | 1 + .../sbt-test/project/test-script-file/test.script | 1 + .../scala/sbt/scriptedtest/ScriptedTests.scala | 15 ++++++++++----- 4 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 sbt/src/sbt-test/project/test-script-file/build.sbt create mode 100644 sbt/src/sbt-test/project/test-script-file/test.script diff --git a/main/src/main/scala/sbt/ScriptedPlugin.scala b/main/src/main/scala/sbt/ScriptedPlugin.scala index f1dfd3434..b17886904 100644 --- a/main/src/main/scala/sbt/ScriptedPlugin.scala +++ b/main/src/main/scala/sbt/ScriptedPlugin.scala @@ -120,7 +120,8 @@ object ScriptedPlugin extends AutoPlugin { private[sbt] def scriptedParser(scriptedBase: File): Parser[Seq[String]] = { import DefaultParsers._ - val scriptedFiles: NameFilter = ("test": NameFilter) | "pending" + val scriptedFiles + : NameFilter = ("test": NameFilter) | "test.script" | "pending" | "pending.script" val pairs = (scriptedBase * AllPassFilter * AllPassFilter * scriptedFiles).get map { (f: File) => val p = f.getParentFile diff --git a/sbt/src/sbt-test/project/test-script-file/build.sbt b/sbt/src/sbt-test/project/test-script-file/build.sbt new file mode 100644 index 000000000..c128b140e --- /dev/null +++ b/sbt/src/sbt-test/project/test-script-file/build.sbt @@ -0,0 +1 @@ +lazy val root = (project in file(".")) diff --git a/sbt/src/sbt-test/project/test-script-file/test.script b/sbt/src/sbt-test/project/test-script-file/test.script new file mode 100644 index 000000000..dfffb838b --- /dev/null +++ b/sbt/src/sbt-test/project/test-script-file/test.script @@ -0,0 +1 @@ +> test diff --git a/scripted/sbt/src/main/scala/sbt/scriptedtest/ScriptedTests.scala b/scripted/sbt/src/main/scala/sbt/scriptedtest/ScriptedTests.scala index 50883790e..92039e8c5 100644 --- a/scripted/sbt/src/main/scala/sbt/scriptedtest/ScriptedTests.scala +++ b/scripted/sbt/src/main/scala/sbt/scriptedtest/ScriptedTests.scala @@ -8,7 +8,7 @@ package sbt package scriptedtest -import java.io.File +import java.io.{ File, FileNotFoundException } import java.net.SocketException import java.util.Properties import java.util.concurrent.ForkJoinPool @@ -17,7 +17,6 @@ import scala.collection.GenSeq import scala.collection.mutable import scala.collection.parallel.ForkJoinTaskSupport import scala.util.control.NonFatal - import sbt.internal.scripted._ import sbt.internal.io.Resources import sbt.internal.util.{ BufferedLogger, ConsoleLogger, FullLogger } @@ -386,9 +385,15 @@ final class ScriptedTests( if (bufferLog) log.record() val (file, pending) = { - val normal = new File(testDirectory, ScriptFilename) - val pending = new File(testDirectory, PendingScriptFilename) - if (pending.isFile) (pending, true) else (normal, false) + val normal = (new File(testDirectory, ScriptFilename), false) + val normalScript = (new File(testDirectory, s"$ScriptFilename.script"), false) + val pending = (new File(testDirectory, PendingScriptFilename), true) + val pendingScript = (new File(testDirectory, s"$PendingScriptFilename.script"), true) + + List(pending, pendingScript, normal, normalScript).find(_._1.isFile) match { + case Some(script) => script + case None => throw new FileNotFoundException("no test scripts found") + } } val pendingMark = if (pending) PendingLabel else ""