|
7 | 7 | */
|
8 | 8 | package org.elasticsearch.gradle.internal.test;
|
9 | 9 |
|
10 |
| -import org.elasticsearch.gradle.internal.ElasticsearchTestBasePlugin; |
11 | 10 | import org.gradle.api.internal.tasks.testing.logging.FullExceptionFormatter;
|
12 | 11 | import org.gradle.api.internal.tasks.testing.logging.TestExceptionFormatter;
|
13 | 12 | import org.gradle.api.logging.Logger;
|
|
39 | 38 | public class ErrorReportingTestListener implements TestOutputListener, TestListener {
|
40 | 39 | private static final String REPRODUCE_WITH_PREFIX = "REPRODUCE WITH";
|
41 | 40 |
|
42 |
| - private final Test testTask; |
43 | 41 | private final TestExceptionFormatter formatter;
|
44 | 42 | private final File outputDirectory;
|
45 | 43 | private final Logger taskLogger;
|
46 | 44 | private Map<Descriptor, EventWriter> eventWriters = new ConcurrentHashMap<>();
|
47 | 45 | private Map<Descriptor, Deque<String>> reproductionLines = new ConcurrentHashMap<>();
|
48 | 46 | private Set<Descriptor> failedTests = new LinkedHashSet<>();
|
| 47 | + private boolean dumpOutputOnFailure = true; |
49 | 48 |
|
50 | 49 | public ErrorReportingTestListener(Test testTask, File outputDirectory) {
|
51 |
| - this.testTask = testTask; |
52 | 50 | this.formatter = new FullExceptionFormatter(testTask.getTestLogging());
|
53 | 51 | this.taskLogger = testTask.getLogger();
|
54 | 52 | this.outputDirectory = outputDirectory;
|
55 | 53 | }
|
56 | 54 |
|
| 55 | + public void setDumpOutputOnFailure(boolean dumpOutputOnFailure) { |
| 56 | + this.dumpOutputOnFailure = dumpOutputOnFailure; |
| 57 | + } |
| 58 | + |
57 | 59 | @Override
|
58 | 60 | public void onOutput(TestDescriptor testDescriptor, TestOutputEvent outputEvent) {
|
59 | 61 | TestDescriptor suite = testDescriptor.getParent();
|
@@ -83,7 +85,7 @@ public void afterSuite(final TestDescriptor suite, TestResult result) {
|
83 | 85 | Descriptor descriptor = Descriptor.of(suite);
|
84 | 86 |
|
85 | 87 | try {
|
86 |
| - if (isDumpOutputEnabled()) { |
| 88 | + if (dumpOutputOnFailure) { |
87 | 89 | // if the test suite failed, report all captured output
|
88 | 90 | if (result.getResultType().equals(TestResult.ResultType.FAILURE)) {
|
89 | 91 | EventWriter eventWriter = eventWriters.get(descriptor);
|
@@ -256,11 +258,4 @@ public void close() throws IOException {
|
256 | 258 | outputFile.delete();
|
257 | 259 | }
|
258 | 260 | }
|
259 |
| - |
260 |
| - private boolean isDumpOutputEnabled() { |
261 |
| - return (Boolean) testTask.getExtensions() |
262 |
| - .getExtraProperties() |
263 |
| - .getProperties() |
264 |
| - .getOrDefault(ElasticsearchTestBasePlugin.DUMP_OUTPUT_ON_FAILURE_PROP_NAME, true); |
265 |
| - } |
266 | 261 | }
|
0 commit comments