diff options
| author | daney <daney@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-12 16:24:56 +0000 |
|---|---|---|
| committer | daney <daney@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-12 16:24:56 +0000 |
| commit | 2850736ee25db846a2c6336faff8ab5f592c37ea (patch) | |
| tree | 2d86e9f1f84c86a9b93c4c4e6a0dc0697280e2ff /libjava/testsuite/libjava.lang/Process_3.java | |
| parent | 25ee750cb3b15dd78ed0f4b8ed60ae99c6757359 (diff) | |
| download | ppe42-gcc-2850736ee25db846a2c6336faff8ab5f592c37ea.tar.gz ppe42-gcc-2850736ee25db846a2c6336faff8ab5f592c37ea.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85881 138bc75d-0d04-0410-961f-82ee72b054a4
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()); + } + } +} |

