RFR(S): 8198655: test/lib/jdk/test/lib/apps/LingeredApp shouldn't inherit cout/cerr

Chris Plummer chris.plummer at oracle.com
Fri Mar 16 18:20:39 UTC 2018


Hi,

I've resolved the issues I had before with not seeing all the stderr 
output when I tried to capture it. What I'd like to do now is have us 
decide how the output should be handled from the perspective a 
LingeredApp user (driver app). Currently all LingeredApp stdout is 
captured and gets be returned the the driver app by calling 
app.getAppOutput(). It does not appear in the .jtr file, but the test 
would have the option of dumping it there it it cared to. Only one test 
uses app.getAppOutput(). Currently all the LingeredApp stderr is 
redirected to the console, so it does not appear in the .jtr file.

So how do we want this changed? Some possibilities are:

(1) capture stderr just like stdout currently is, and leave is up the 
the driver app to decide if it wants to display it (after the app 
terminates).

(2) capture stderr just like stdout currently is, but have LingeredApp 
automatically send captured output to driver app's stdout and stderr 
(after the app terminates).

(3) send the LingeredApp's stdout and stderr to the driver app's stdout 
as it is being captured (this was the original fix Igor suggested and 
the webrev supported). A minor alternative to this is to keep the two 
streams separated instead of sending both to stdout.

Let me know what you think. I'm inclined to go with 2, especially since 
normally there is little to no output from the LingeredApp.

BTW, here's the CR and original webrev for reference:

https://bugs.openjdk.java.net/browse/JDK-8198655
http://cr.openjdk.java.net/~cjplummer/8198655/webrev.00/webrev/

thanks,

Chris



More information about the serviceability-dev mailing list