64 lines
1.8 KiB
Groovy
64 lines
1.8 KiB
Groovy
test {
|
|
def outputReporter = new OutputReporter()
|
|
addTestListener(outputReporter)
|
|
addTestOutputListener(outputReporter)
|
|
}
|
|
|
|
class OutputReporter implements TestListener, TestOutputListener {
|
|
|
|
private StringBuilder stdout = new StringBuilder()
|
|
private StringBuilder stderr = new StringBuilder()
|
|
|
|
@Override
|
|
void beforeSuite(TestDescriptor suite) {
|
|
|
|
}
|
|
|
|
@Override
|
|
void afterSuite(TestDescriptor suite, TestResult result) {
|
|
|
|
}
|
|
|
|
@Override
|
|
void beforeTest(TestDescriptor testDescriptor) {
|
|
if (!testDescriptor.isComposite()) {
|
|
stdout.setLength(0)
|
|
stderr.setLength(0)
|
|
}
|
|
}
|
|
|
|
@Override
|
|
void afterTest(TestDescriptor testDescriptor, TestResult result) {
|
|
if (!testDescriptor.isComposite() && result.getResultType() == TestResult.ResultType.FAILURE) {
|
|
if (stdout.length() != 0) {
|
|
println ""
|
|
println "--- STDOUT ---"
|
|
print stdout
|
|
println "--- STDOUT ---"
|
|
}
|
|
|
|
if (stderr.length() != 0) {
|
|
println ""
|
|
println "--- STDERR ---"
|
|
println stderr
|
|
println "--- STDERR ---"
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@Override
|
|
void onOutput(TestDescriptor testDescriptor, TestOutputEvent outputEvent) {
|
|
if (!testDescriptor.isComposite()) {
|
|
def buffer = (outputEvent.getDestination() == TestOutputEvent.Destination.StdOut) ? stdout : stderr
|
|
buffer.append(outputEvent.getMessage())
|
|
// TODO re-enable this
|
|
// if (outputEvent.getMessage().contains("LEAK:")) {
|
|
// println stdout
|
|
// println stderr
|
|
// throw new RuntimeException("Netty ResourceLeakDetector")
|
|
// }
|
|
}
|
|
}
|
|
}
|