summaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang/Process_5.java
diff options
context:
space:
mode:
authorDavid Daney <ddaney@avtrex.com>2004-08-12 16:24:56 +0000
committerDavid Daney <daney@gcc.gnu.org>2004-08-12 16:24:56 +0000
commitfaa03cf1b40e800415540d92b100ad1e545c0d56 (patch)
tree2d86e9f1f84c86a9b93c4c4e6a0dc0697280e2ff /libjava/testsuite/libjava.lang/Process_5.java
parentc58f29001dee1b4f6dfb09cc2a49f2739b106553 (diff)
Process_1.java: New test.
2004-08-03 David Daney <ddaney@avtrex.com> * testsuite/libjava.lang/Process_1.java: New test. * testsuite/libjava.lang/Process_2.java: New test. * testsuite/libjava.lang/Process_3.java: New test. * testsuite/libjava.lang/Process_4.java: New test. * testsuite/libjava.lang/Process_5.java: New test. * testsuite/libjava.lang/Process_6.java: New test. * testsuite/libjava.lang/Process_1.out: Expected result. * testsuite/libjava.lang/Process_2.out: Expected result. * testsuite/libjava.lang/Process_3.out: Expected result. * testsuite/libjava.lang/Process_4.out: Expected result. * testsuite/libjava.lang/Process_5.out: Expected result. * testsuite/libjava.lang/Process_6.out: Expected result. From-SVN: r85881
Diffstat (limited to 'libjava/testsuite/libjava.lang/Process_5.java')
-rw-r--r--libjava/testsuite/libjava.lang/Process_5.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/Process_5.java b/libjava/testsuite/libjava.lang/Process_5.java
new file mode 100644
index 00000000000..61fd5b7409f
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Process_5.java
@@ -0,0 +1,43 @@
+// Create a long running process and verify that the exitValue is not
+// immediately available. Then destroy() it and verify that it
+// terminates quickly with a non-zero exitValue.
+public class Process_5
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ int c;
+ long startTime = System.currentTimeMillis();
+ Runtime r = Runtime.getRuntime();
+ String[] a = { "sleep", "120" };
+ Process p = r.exec(a);
+
+ try
+ {
+ c = p.exitValue();
+ System.out.println("bad 1");
+ return;
+ }
+ catch (IllegalThreadStateException itse)
+ {
+ // Ignore as this is good here.
+ }
+
+ p.destroy();
+
+ c = p.waitFor();
+
+ long endTime = System.currentTimeMillis();
+
+ if (endTime - startTime > 110000L)
+ System.out.println("bad 2");
+
+ System.out.println(c != 0 ? "ok" : "bad 3");
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}