1
1
package scala .build .testrunner
2
2
3
- import sbt .testing ._
3
+ import sbt .testing .{ Logger => SbtTestLogger , _ }
4
4
5
5
import java .lang .annotation .Annotation
6
6
import java .lang .reflect .Modifier
@@ -214,6 +214,8 @@ object DynamicTestRunner {
214
214
parse(None , Nil , false , 0 , None , args.toList)
215
215
}
216
216
217
+ val logger = Logger (verbosity)
218
+
217
219
val classLoader = Thread .currentThread().getContextClassLoader
218
220
val classPath0 = TestRunner .classPath(classLoader)
219
221
val frameworks = testFrameworkOpt
@@ -239,25 +241,25 @@ object DynamicTestRunner {
239
241
s " ${f.name()} ( ${Option (f.getClass.getCanonicalName).getOrElse(f.toString)}) "
240
242
241
243
val foundFrameworkServices = findFrameworkServices(classLoader)
242
- if (verbosity >= 2 && foundFrameworkServices.nonEmpty)
243
- System .err.println (
244
+ if (foundFrameworkServices.nonEmpty)
245
+ logger.debug (
244
246
s """ Found test framework services:
245
247
| - ${foundFrameworkServices.map(getFrameworkDescription).mkString(" \n - " )}
246
248
| """ .stripMargin
247
249
)
248
250
249
251
val foundFrameworks =
250
252
findFrameworks(classPath0, classLoader, TestRunner .commonTestFrameworks)
251
- if (verbosity >= 2 && foundFrameworks.nonEmpty)
252
- System .err.println (
253
+ if (foundFrameworks.nonEmpty)
254
+ logger.debug (
253
255
s """ Found test frameworks:
254
256
| - ${foundFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
255
257
| """ .stripMargin
256
258
)
257
259
258
260
val distinctFrameworks = distinctBy(foundFrameworkServices ++ foundFrameworks)(_.name())
259
- if (verbosity >= 2 && distinctFrameworks.nonEmpty)
260
- System .err.println (
261
+ if (distinctFrameworks.nonEmpty)
262
+ logger.debug (
261
263
s """ Distinct test frameworks found (by framework name):
262
264
| - ${distinctFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
263
265
| """ .stripMargin
@@ -272,16 +274,16 @@ object DynamicTestRunner {
272
274
f1.getClass.isAssignableFrom(f2.getClass)
273
275
)
274
276
)
275
- if (verbosity >= 1 && finalFrameworks.nonEmpty)
276
- System .err.println (
277
+ if (finalFrameworks.nonEmpty)
278
+ logger.log (
277
279
s """ Final list of test frameworks found:
278
280
| - ${finalFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
279
281
| """ .stripMargin
280
282
)
281
283
282
284
val skippedInheritedFrameworks = distinctFrameworks.diff(finalFrameworks)
283
- if (verbosity >= 1 && skippedInheritedFrameworks.nonEmpty)
284
- System .err.println (
285
+ if (skippedInheritedFrameworks.nonEmpty)
286
+ logger.log (
285
287
s """ The following test frameworks have been filtered out, as they're being inherited from by others:
286
288
| - ${skippedInheritedFrameworks.map(getFrameworkDescription).mkString(" \n - " )}
287
289
| """ .stripMargin
@@ -304,7 +306,7 @@ object DynamicTestRunner {
304
306
val exitCodes =
305
307
frameworks
306
308
.map { framework =>
307
- if (verbosity >= 1 ) System .err.println (s " Running test framework: ${framework.name}" )
309
+ logger.log (s " Running test framework: ${framework.name}" )
308
310
val fingerprints = framework.fingerprints()
309
311
val runner = framework.runner(args0.toArray, Array (), classLoader)
310
312
@@ -336,15 +338,15 @@ object DynamicTestRunner {
336
338
val doneMsg = runner.done()
337
339
if (doneMsg.nonEmpty) out.println(doneMsg)
338
340
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()}. " )
340
342
1
341
343
}
342
344
else if (failed) {
343
- System .err.println (s " Error: ${framework.name()} tests failed. " )
345
+ logger.error (s " Error: ${framework.name()} tests failed. " )
344
346
1
345
347
}
346
348
else {
347
- if (verbosity >= 1 ) System .err.println (s " ${framework.name()} tests ran successfully. " )
349
+ logger.log (s " ${framework.name()} tests ran successfully. " )
348
350
0
349
351
}
350
352
}
0 commit comments