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
This commit is contained in:
parent
c58f29001d
commit
faa03cf1b4
13 changed files with 286 additions and 0 deletions
72
libjava/testsuite/libjava.lang/Process_3.java
Normal file
72
libjava/testsuite/libjava.lang/Process_3.java
Normal file
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue