blob: afa5f41369b86c797653a836413d76f9e32154bb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package org.perl8.test.harness
import java.io.{PipedInputStream,PipedOutputStream}
import scala.concurrent.Await
import scala.concurrent.duration.Duration
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
import org.perl8.test.tap.Consumer.{TAPResult,TodoDirective}
import org.perl8.test.tap._
import org.perl8.test.Test
trait SummarizedTests {
def runOneTest (test: Test, cb: TAPEvent => Unit): TAPResult = {
val out = new PipedOutputStream
val in = new PipedInputStream(out)
val testFuture = Future {
Console.withOut(out) {
test.runInHarness
}
out.close
}
val parser = new Parser(cb)
val result = parser.parse(in)
in.close
Await.ready(testFuture, Duration.Inf)
result
}
}
|