Files
IM-server-new/gradle/test.gradle
T

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")
// }
}
}
}