8191914: New SA test timeout on windows

Avoid test hangs in a few SA tests by ensuring that OutputAnalyzer gets created before waitFor() gets called

Reviewed-by: dholmes, sballal
This commit is contained in:
Jini George 2017-12-01 11:40:39 +05:30
parent 686dc5c977
commit 9a3de631aa
5 changed files with 11 additions and 24 deletions

@ -86,7 +86,6 @@ serviceability/jdwp/AllModulesCommandTest.java 8170541 generic-all
serviceability/sa/sadebugd/SADebugDTest.java 8163805 generic-all
serviceability/jvmti/ModuleAwareAgents/ClassFileLoadHook/MAAClassFileLoadHook.java 8173936 generic-all
serviceability/sa/TestRevPtrsForInvokeDynamic.java 8191270 generic-all
serviceability/sa/TestJhsdbJstackLock.java 8191914 windows-all
#############################################################################
# :hotspot_misc

@ -56,10 +56,10 @@ public class JhsdbThreadInfoTest {
pb.command(jhsdbLauncher.getCommand());
Process jhsdb = pb.start();
jhsdb.waitFor();
OutputAnalyzer out = new OutputAnalyzer(jhsdb);
jhsdb.waitFor();
System.out.println(out.getStdout());
System.err.println(out.getStderr());

@ -129,22 +129,16 @@ public class TestClhsdbJstackLock {
throw new Error("Problem issuing the jstack command: " + str, ioe);
}
OutputAnalyzer output = new OutputAnalyzer(p);
try {
p.waitFor();
} catch (InterruptedException ie) {
p.destroyForcibly();
throw new Error("Problem awaiting the child process: " + ie, ie);
}
int exitValue = p.exitValue();
if (exitValue != 0) {
String output;
try {
output = new OutputAnalyzer(p).getOutput();
} catch (IOException ioe) {
throw new Error("Can't get failed clhsdb process output: " + ioe, ioe);
}
throw new AssertionError("clhsdb wasn't run successfully: " + output);
}
output.shouldHaveExitValue(0);
}
public static void main (String... args) throws Exception {

@ -65,10 +65,10 @@ public class TestJhsdbJstackLock {
ProcessBuilder pb = new ProcessBuilder();
pb.command(launcher.getCommand());
Process jhsdb = pb.start();
OutputAnalyzer out = new OutputAnalyzer(jhsdb);
jhsdb.waitFor();
OutputAnalyzer out = new OutputAnalyzer(jhsdb);
System.out.println(out.getStdout());
System.err.println(out.getStderr());

@ -132,22 +132,16 @@ public class TestPrintMdo {
throw new Error("Problem issuing the printmdo command: " + str, ioe);
}
OutputAnalyzer output = new OutputAnalyzer(p);
try {
p.waitFor();
} catch (InterruptedException ie) {
p.destroyForcibly();
throw new Error("Problem awaiting the child process: " + ie, ie);
}
int exitValue = p.exitValue();
if (exitValue != 0) {
String output;
try {
output = new OutputAnalyzer(p).getOutput();
} catch (IOException ioe) {
throw new Error("Can't get failed clhsdb process output: " + ioe, ioe);
}
throw new AssertionError("clhsdb wasn't run successfully: " + output);
}
output.shouldHaveExitValue(0);
}
public static void main (String... args) throws Exception {