summaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang/Process_2.java
blob: d90e653a40ed0df8a6195f7ad2c5a77e8df33ac7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Create a process and read from its standard error.
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;


public class Process_2
{
  public static void main(String[] args)
  {
    try
      {
	Runtime r = Runtime.getRuntime();
	String s = "Hello World";
	String[] a = { "sh", "-c", "echo " + s + " >&2" };
	Process p = r.exec(a);
	InputStream is = p.getErrorStream();
	InputStreamReader isr = new InputStreamReader(is);
	BufferedReader br = new BufferedReader(isr);
	String result = br.readLine();
	if (! s.equals(result))
	  {
	    System.out.println("bad 1");
	    return;
	  }
	result = br.readLine();
	if (result != null)
	  {
	    System.out.println("bad 2");
	    return;
	  }
	int c = p.waitFor();
	System.out.println(c == 0 ? "ok" : "bad 3");
      }
    catch (Exception ex)
      {
	System.out.println(ex.toString());
      }
  }
}