summaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang/Process_7.java
diff options
context:
space:
mode:
authorDavid Daney <ddaney@avtrex.com>2007-04-09 17:40:20 +0000
committerDavid Daney <daney@gcc.gnu.org>2007-04-09 17:40:20 +0000
commit290b7f64b5e3bc1dad14911be133ba5f75fb600b (patch)
treeb1c737c188f5f8453ba34c21ec12226fd1b5c954 /libjava/testsuite/libjava.lang/Process_7.java
parent22931aa4a943c3c937f4bf728917236ba27f975e (diff)
re PR libgcj/23758 (java::lang::ConcreteProcess::nativeSpawn unsafe)
PR libgcj/23758 * java/lang/natPosixProcess.cc (nativeSpawn): Move building of environment before the fork. * testsuite/libjava.lang/Process_7.java: New test. * testsuite/libjava.lang/Process_7.out: Its expected results. * testsuite/libjava.lang/Process_7.jar: Generated file. From-SVN: r123676
Diffstat (limited to 'libjava/testsuite/libjava.lang/Process_7.java')
-rw-r--r--libjava/testsuite/libjava.lang/Process_7.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/Process_7.java b/libjava/testsuite/libjava.lang/Process_7.java
new file mode 100644
index 00000000000..d6f654eb2e0
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Process_7.java
@@ -0,0 +1,45 @@
+// Verify we can modify the environment.
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Map;
+
+
+
+public class Process_7
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ ProcessBuilder pb = new ProcessBuilder("env");
+ Map<String, String> e = pb.environment();
+ e.clear();
+ String v = "process7_value";
+ String k = "PROCESS_7_KEY";
+ e.put(k, v);
+ Process p = pb.start();
+ InputStream is = p.getInputStream();
+ InputStreamReader isr = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(isr);
+ boolean found = false;
+
+ String result;
+ while ((result = br.readLine()) != null)
+ {
+ if (result.equals(k + '=' + v))
+ found = true;
+ }
+ if (!found)
+ {
+ System.out.println("bad");
+ return;
+ }
+ System.out.println("ok");
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}