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_3.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_3.java')
| -rw-r--r-- | libjava/testsuite/libjava.lang/Process_3.java | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/Process_3.java b/libjava/testsuite/libjava.lang/Process_3.java new file mode 100644 index 00000000000..669e1dc7e29 --- /dev/null +++ b/libjava/testsuite/libjava.lang/Process_3.java @@ -0,0 +1,72 @@ +// Create a process and pipe data through it. waitFor() the process +// in a different thread than the one that created it. +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.PrintStream; + + +public class Process_3 implements Runnable +{ + Process p; + + public void run() + { + try + { + Runtime r = Runtime.getRuntime(); + String[] a = { "sed", "-e", "s/Hello/Goodbye/" }; + synchronized (this) + { + p = r.exec(a); + this.notifyAll(); + } + OutputStream os = p.getOutputStream(); + PrintStream ps = new PrintStream(os); + ps.println("Hello World"); + ps.close(); + } + catch (Exception ex) + { + System.out.println(ex.toString()); + } + } + + public static void main(String[] args) + { + try + { + Process_3 p3 = new Process_3(); + Thread t = new Thread(p3); + t.start(); + synchronized (p3) + { + while (p3.p == null) + p3.wait(); + } + + InputStream is = p3.p.getInputStream(); + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + String result = br.readLine(); + if (! "Goodbye World".equals(result)) + { + System.out.println("bad 1"); + return; + } + result = br.readLine(); + if (result != null) + { + System.out.println("bad 2"); + return; + } + int c = p3.p.waitFor(); + System.out.println(c == 0 ? "ok" : "bad 3"); + } + catch (Exception ex) + { + System.out.println(ex.toString()); + } + } +} |
