From ead0c5a68f32f7a733c7f3b41128fa3fc9ea582f Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Tue, 11 May 2010 13:05:17 -0400 Subject: [PATCH] make it easier to create new test-* actions with different options --- sbt/src/main/scala/sbt/DefaultProject.scala | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sbt/src/main/scala/sbt/DefaultProject.scala b/sbt/src/main/scala/sbt/DefaultProject.scala index cbe31f3bc..d44018134 100644 --- a/sbt/src/main/scala/sbt/DefaultProject.scala +++ b/sbt/src/main/scala/sbt/DefaultProject.scala @@ -98,7 +98,7 @@ abstract class BasicScalaProject extends ScalaProject with BasicDependencyProjec getMainClass(false).map(MainClass(_)).toList private def succeededTestPath = testAnalysisPath / "succeeded-tests" - private def quickOptions(failedOnly: Boolean) = + protected final def quickOptions(failedOnly: Boolean) = { val path = succeededTestPath val analysis = testCompileConditional.analysis @@ -281,12 +281,11 @@ abstract class BasicScalaProject extends ScalaProject with BasicDependencyProjec protected def docTestAction = scaladocTask(testLabel, testSources, testDocPath, docClasspath, documentOptions).dependsOn(testCompile) describedAs TestDocDescription protected def testAction = defaultTestTask(testOptions) - protected def testOnlyAction = testQuickMethod(testCompileConditional.analysis, testOptions)((options) => { - defaultTestTask(options) - }) describedAs (TestOnlyDescription) - protected def testQuickAction = defaultTestQuickMethod(false) describedAs (TestQuickDescription) - protected def testFailedAction = defaultTestQuickMethod(true) describedAs (TestFailedDescription) - protected def defaultTestQuickMethod(failedOnly: Boolean) = + protected def testOnlyAction = testOnlyTask(testOptions) + protected def testOnlyTask(testOptions: => Seq[TestOption]) = testQuickMethod(testCompileConditional.analysis, testOptions)(o => defaultTestTask(o)) describedAs (TestOnlyDescription) + protected def testQuickAction = defaultTestQuickMethod(false, testOptions) describedAs (TestQuickDescription) + protected def testFailedAction = defaultTestQuickMethod(true, testOptions) describedAs (TestFailedDescription) + protected def defaultTestQuickMethod(failedOnly: Boolean, testOptions: => Seq[TestOption]) = testQuickMethod(testCompileConditional.analysis, testOptions)(options => defaultTestTask(quickOptions(failedOnly) ::: options.toList)) protected def defaultTestTask(testOptions: => Seq[TestOption]) = testTask(testFrameworks, testClasspath, testCompileConditional.analysis, testOptions).dependsOn(testCompile, copyResources, copyTestResources) describedAs TestDescription