11package scala .build .testrunner
22
3- import sbt .testing ._
3+ import sbt .testing .{ Logger => SbtTestLogger , _ }
44
55import java .lang .annotation .Annotation
66import java .lang .reflect .Modifier
@@ -214,6 +214,8 @@ object DynamicTestRunner {
214214 parse(None , Nil , false , 0 , None , args.toList)
215215 }
216216
217+ val logger = Logger (verbosity)
218+
217219 val classLoader = Thread .currentThread().getContextClassLoader
218220 val classPath0 = TestRunner .classPath(classLoader)
219221 val frameworks = testFrameworkOpt
@@ -239,25 +241,25 @@ object DynamicTestRunner {
239241 s " ${f.name()} ( ${Option (f.getClass.getCanonicalName).getOrElse(f.toString)}) "
240242
241243 val foundFrameworkServices = findFrameworkServices(classLoader)
242- if (verbosity >= 2 && foundFrameworkServices.nonEmpty)
243- System .err.println (
244+ if (foundFrameworkServices.nonEmpty)
245+ logger.debug (
244246 s """ Found test framework services:
245247 | - ${foundFrameworkServices.map(getFrameworkDescription).mkString(" \n - " )}
246248 | """ .stripMargin
247249 )
248250
249251 val foundFrameworks =
250252 findFrameworks(classPath0, classLoader, TestRunner .commonTestFrameworks)
251- if (verbosity >= 2 && foundFrameworks.nonEmpty)
252- System .err.println (
253+ if (foundFrameworks.nonEmpty)
254+ logger.debug (
253255 s """ Found test frameworks:
254256 | - ${foundFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
255257 | """ .stripMargin
256258 )
257259
258260 val distinctFrameworks = distinctBy(foundFrameworkServices ++ foundFrameworks)(_.name())
259- if (verbosity >= 2 && distinctFrameworks.nonEmpty)
260- System .err.println (
261+ if (distinctFrameworks.nonEmpty)
262+ logger.debug (
261263 s """ Distinct test frameworks found (by framework name):
262264 | - ${distinctFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
263265 | """ .stripMargin
@@ -272,16 +274,16 @@ object DynamicTestRunner {
272274 f1.getClass.isAssignableFrom(f2.getClass)
273275 )
274276 )
275- if (verbosity >= 1 && finalFrameworks.nonEmpty)
276- System .err.println (
277+ if (finalFrameworks.nonEmpty)
278+ logger.log (
277279 s """ Final list of test frameworks found:
278280 | - ${finalFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
279281 | """ .stripMargin
280282 )
281283
282284 val skippedInheritedFrameworks = distinctFrameworks.diff(finalFrameworks)
283- if (verbosity >= 1 && skippedInheritedFrameworks.nonEmpty)
284- System .err.println (
285+ if (skippedInheritedFrameworks.nonEmpty)
286+ logger.log (
285287 s """ The following test frameworks have been filtered out, as they're being inherited from by others:
286288 | - ${skippedInheritedFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
287289 | """ .stripMargin
@@ -304,7 +306,7 @@ object DynamicTestRunner {
304306 val exitCodes =
305307 frameworks
306308 .map { framework =>
307- if (verbosity >= 1 ) System .err.println (s " Running test framework: ${framework.name}" )
309+ logger.log (s " Running test framework: ${framework.name}" )
308310 val fingerprints = framework.fingerprints()
309311 val runner = framework.runner(args0.toArray, Array (), classLoader)
310312
@@ -336,15 +338,15 @@ object DynamicTestRunner {
336338 val doneMsg = runner.done()
337339 if (doneMsg.nonEmpty) out.println(doneMsg)
338340 if (requireTests && events.isEmpty) {
339- System .err.println (s " Error: no tests were run for ${framework.name()}. " )
341+ logger.error (s " Error: no tests were run for ${framework.name()}. " )
340342 1
341343 }
342344 else if (failed) {
343- System .err.println (s " Error: ${framework.name()} tests failed. " )
345+ logger.error (s " Error: ${framework.name()} tests failed. " )
344346 1
345347 }
346348 else {
347- if (verbosity >= 1 ) System .err.println (s " ${framework.name()} tests ran successfully. " )
349+ logger.log (s " ${framework.name()} tests ran successfully. " )
348350 0
349351 }
350352 }
0 commit comments