Skip to content

Commit 3474322

Browse files
committed
Enable auto-flushing of output to fix testfeed details mode
1 parent de40dbe commit 3474322

File tree

3 files changed

+31
-11
lines changed

3 files changed

+31
-11
lines changed

gradle/plugins/common/src/main/kotlin/junitbuild/exec/RunConsoleLauncher.kt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ import org.gradle.api.file.ConfigurableFileCollection
66
import org.gradle.api.plugins.JavaPluginExtension
77
import org.gradle.api.provider.ListProperty
88
import org.gradle.api.provider.Property
9-
import org.gradle.api.tasks.*
9+
import org.gradle.api.tasks.CacheableTask
10+
import org.gradle.api.tasks.Classpath
11+
import org.gradle.api.tasks.Input
12+
import org.gradle.api.tasks.Internal
13+
import org.gradle.api.tasks.Nested
14+
import org.gradle.api.tasks.SourceSetContainer
15+
import org.gradle.api.tasks.TaskAction
1016
import org.gradle.api.tasks.options.Option
1117
import org.gradle.jvm.toolchain.JavaLauncher
1218
import org.gradle.jvm.toolchain.JavaToolchainService
@@ -16,7 +22,6 @@ import org.gradle.process.CommandLineArgumentProvider
1622
import org.gradle.process.ExecOperations
1723
import trackOperationSystemAsInput
1824
import java.io.ByteArrayOutputStream
19-
import java.util.*
2025
import javax.inject.Inject
2126

2227
@CacheableTask
@@ -97,4 +102,13 @@ abstract class RunConsoleLauncher @Inject constructor(private val execOperations
97102
debugging.set(enabled)
98103
}
99104

105+
@Suppress("unused")
106+
@Option(
107+
option = "show-output",
108+
description = "Show output"
109+
)
110+
fun setShowOutput(showOutput: Boolean) {
111+
hideOutput.set(!showOutput)
112+
}
113+
100114
}

junit-platform-console/src/main/java/org/junit/platform/console/ConsoleLauncher.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@
3030
public class ConsoleLauncher {
3131

3232
public static void main(String... args) {
33-
PrintWriter out = new PrintWriter(System.out);
34-
PrintWriter err = new PrintWriter(System.err);
35-
CommandResult<?> result = run(out, err, args);
33+
CommandResult<?> result = run(null, null, args);
3634
System.exit(result.getExitCode());
3735
}
3836

@@ -57,8 +55,12 @@ CommandResult<?> run(String... args) {
5755
return new CommandFacade(consoleTestExecutorFactory).run(out, err, args);
5856
}
5957
finally {
60-
out.flush();
61-
err.flush();
58+
if (out != null) {
59+
out.flush();
60+
}
61+
if (err != null) {
62+
err.flush();
63+
}
6264
}
6365
}
6466

junit-platform-console/src/main/java/org/junit/platform/console/options/MainCommand.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,14 @@ private static CommandResult<?> runCommand(PrintWriter out, PrintWriter err, Str
144144

145145
private static CommandResult<Object> runCommand(PrintWriter out, PrintWriter err, String[] args,
146146
CommandLine commandLine) {
147-
int exitCode = BaseCommand.initialize(commandLine) //
148-
.setOut(out) //
149-
.setErr(err) //
150-
.execute(args);
147+
commandLine = BaseCommand.initialize(commandLine);
148+
if (out != null) {
149+
commandLine = commandLine.setOut(out);
150+
}
151+
if (err != null) {
152+
commandLine = commandLine.setErr(err);
153+
}
154+
int exitCode = commandLine.execute(args);
151155
return CommandResult.create(exitCode, getLikelyExecutedCommand(commandLine).getExecutionResult());
152156
}
153157

0 commit comments

Comments
 (0)