summaryrefslogtreecommitdiff
path: root/libjava/testsuite
diff options
context:
space:
mode:
authordaney <daney@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-09 17:40:20 +0000
committerdaney <daney@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-09 17:40:20 +0000
commit6a341486829ba4728ee87a74b203462e3c661e46 (patch)
treeb1c737c188f5f8453ba34c21ec12226fd1b5c954 /libjava/testsuite
parent6be2333a3345cc46e745db7280c1bfc2c1326018 (diff)
downloadgcc-6a341486829ba4728ee87a74b203462e3c661e46.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123676 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/testsuite')
-rw-r--r--libjava/testsuite/libjava.lang/Process_7.jarbin0 -> 1618 bytes
-rw-r--r--libjava/testsuite/libjava.lang/Process_7.java45
-rw-r--r--libjava/testsuite/libjava.lang/Process_7.out1
3 files changed, 46 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/Process_7.jar b/libjava/testsuite/libjava.lang/Process_7.jar
new file mode 100644
index 00000000000..261578e8a54
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Process_7.jar
Binary files differ
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());
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Process_7.out b/libjava/testsuite/libjava.lang/Process_7.out
new file mode 100644
index 00000000000..9766475a418
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Process_7.out
@@ -0,0 +1 @@
+ok