1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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());
- if (outputEvent.getMessage().contains("LEAK:")) {
- println stdout
- println stderr
- throw new RuntimeException("Netty ResourceLeakDetector");
- }
- }
- }
- }
|