From 1efc163cc8a12ab79fe64e8a2329463bb0aab5ca Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Fri, 2 Mar 2018 14:24:26 +1000 Subject: [PATCH] Pass the srcpath as FQN, test file as testSelector in SBT test events --- src/main/scala/scala/tools/partest/nest/Runner.scala | 7 +++++-- src/main/scala/scala/tools/partest/sbt/SBTRunner.scala | 10 ++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/scala/scala/tools/partest/nest/Runner.scala b/src/main/scala/scala/tools/partest/nest/Runner.scala index 92c3d9c..7f99686 100644 --- a/src/main/scala/scala/tools/partest/nest/Runner.scala +++ b/src/main/scala/scala/tools/partest/nest/Runner.scala @@ -7,6 +7,7 @@ package nest import java.io.{ Console => _, _ } import java.util.concurrent.Executors +import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit.NANOSECONDS import scala.collection.mutable.ListBuffer import scala.concurrent.duration.Duration @@ -758,9 +759,10 @@ class SuiteRunner( // |Java Classpath: ${sys.props("java.class.path")} } - def onFinishTest(testFile: File, result: TestState): TestState = result + def onFinishTest(testFile: File, result: TestState, durationMs: Long): TestState = result def runTest(testFile: File): TestState = { + val start = System.nanoTime() val runner = new Runner(testFile, this, nestUI) // when option "--failed" is provided execute test only if log @@ -778,7 +780,8 @@ class SuiteRunner( runner.cleanup() state } - onFinishTest(testFile, state) + val end = System.nanoTime() + onFinishTest(testFile, state, TimeUnit.NANOSECONDS.toMillis(end - start)) } def runTestsForFiles(kindFiles: Array[File], kind: String): Array[TestState] = { diff --git a/src/main/scala/scala/tools/partest/sbt/SBTRunner.scala b/src/main/scala/scala/tools/partest/sbt/SBTRunner.scala index d908cfd..7735dde 100644 --- a/src/main/scala/scala/tools/partest/sbt/SBTRunner.scala +++ b/src/main/scala/scala/tools/partest/sbt/SBTRunner.scala @@ -54,8 +54,10 @@ class SBTRunner(val config: RunnerSpec.Config, else l.mkString(" ") } + private val testSrcPath: String = config.optSourcePath orElse Option(srcDir) getOrElse PartestDefaults.sourcePath + val suiteRunner = new SuiteRunner( - testSourcePath = config.optSourcePath orElse Option(srcDir) getOrElse PartestDefaults.sourcePath, + testSourcePath = testSrcPath, new FileManager(testClassLoader = testClassLoader), updateCheck = config.optUpdateCheck, failed = config.optFailed, @@ -66,14 +68,14 @@ class SBTRunner(val config: RunnerSpec.Config, javaOpts = javaOpts, scalacOpts = scalacOpts) { self => - override def onFinishTest(testFile: File, result: TestState): TestState = { + override def onFinishTest(testFile: File, result: TestState, durationMs: Long): TestState = { self.synchronized { eventHandler.handle(new Event { - def fullyQualifiedName: String = testFile.testIdent + def fullyQualifiedName: String = scala.tools.partest.nest.PathSettings.testRoot.name + "/" + testSrcPath def fingerprint: Fingerprint = partestFingerprint def selector: Selector = new TestSelector(testFile.testIdent) val (status, throwable) = makeStatus(result) - def duration: Long = -1 + def duration: Long = durationMs }) } result