diff options
| author | David Daney <ddaney@avtrex.com> | 2004-08-12 16:24:56 +0000 |
|---|---|---|
| committer | David Daney <daney@gcc.gnu.org> | 2004-08-12 16:24:56 +0000 |
| commit | faa03cf1b40e800415540d92b100ad1e545c0d56 (patch) | |
| tree | 2d86e9f1f84c86a9b93c4c4e6a0dc0697280e2ff /libjava/testsuite/libjava.lang/Process_5.java | |
| parent | c58f29001dee1b4f6dfb09cc2a49f2739b106553 (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.java | 43 |
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()); + } + } +} |
