Skip to content

Commit e989cb7

Browse files
committed
Print output when ProcessBuilder#testRedirectToStream fails.
1 parent ad42202 commit e989cb7

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

truffle/src/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/polyglot/ProcessBuilderTest.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,21 @@ protected Object execute(RootNode node, Env env, Object[] contextArguments, Obje
185185
p.destroy();
186186
Assert.fail("Process did not finish in expected time.");
187187
}
188-
Assert.assertEquals(0, p.exitValue());
189-
Assert.assertEquals(Main.expectedStdOut(), stdout.toString(StandardCharsets.UTF_8));
190-
Assert.assertEquals(Main.expectedStdErr(), stderr.toString(StandardCharsets.UTF_8));
188+
Assert.assertEquals(formatErrorMessage("Expected 0 subprocess exit code.", stdout, stderr), 0, p.exitValue());
189+
Assert.assertEquals(formatErrorMessage("Expected stdout content.", stdout, stderr), Main.expectedStdOut(), stdout.toString(StandardCharsets.UTF_8));
190+
Assert.assertEquals(formatErrorMessage("Expected stderr content.", stdout, stderr), Main.expectedStdErr(), stderr.toString(StandardCharsets.UTF_8));
191191
return null;
192192
}
193+
194+
private static String formatErrorMessage(String reason, ByteArrayOutputStream stdout, ByteArrayOutputStream stderr) {
195+
return String.format("""
196+
%s
197+
stdout:
198+
%s
199+
stderr:
200+
%s
201+
""", reason, stdout, stderr);
202+
}
193203
}
194204

195205
@Test

0 commit comments

Comments
 (0)