jdk/test/java/lang/ProcessBuilder/Basic.java
changeset 12882 35d381df9422
parent 12538 211d6e82fe51
child 13149 27d52f97a5cc
--- a/jdk/test/java/lang/ProcessBuilder/Basic.java	Thu Jun 07 22:33:34 2012 +0800
+++ b/jdk/test/java/lang/ProcessBuilder/Basic.java	Thu Jun 07 18:42:47 2012 +0100
@@ -248,6 +248,7 @@
 
     private static String getenvAsString(Map<String,String> environment) {
         StringBuilder sb = new StringBuilder();
+        environment = new TreeMap<>(environment);
         for (Map.Entry<String,String> e : environment.entrySet())
             // Ignore magic environment variables added by the launcher
             if (! e.getKey().equals("NLSPATH") &&
@@ -1625,7 +1626,7 @@
             childArgs.add("System.getenv()");
             String[] cmdp = childArgs.toArray(new String[childArgs.size()]);
             String[] envp;
-            String[] envpWin = {"=ExitValue=3", "=C:=\\", "SystemRoot="+systemRoot};
+            String[] envpWin = {"=C:=\\", "=ExitValue=3", "SystemRoot="+systemRoot};
             String[] envpOth = {"=ExitValue=3", "=C:=\\"};
             if (Windows.is()) {
                 envp = envpWin;
@@ -1633,7 +1634,7 @@
                 envp = envpOth;
             }
             Process p = Runtime.getRuntime().exec(cmdp, envp);
-            String expected = Windows.is() ? "=C:=\\,SystemRoot="+systemRoot+",=ExitValue=3," : "=C:=\\,";
+            String expected = Windows.is() ? "=C:=\\,=ExitValue=3,SystemRoot="+systemRoot+"," : "=C:=\\,";
             String commandOutput = commandOutput(p);
             if (MacOSX.is()) {
                 commandOutput = removeMacExpectedVars(commandOutput);
@@ -1690,7 +1691,7 @@
                 commandOutput = removeMacExpectedVars(commandOutput);
             }
             check(commandOutput.equals(Windows.is()
-                    ? "SystemRoot="+systemRoot+",LC_ALL=C,"
+                    ? "LC_ALL=C,SystemRoot="+systemRoot+","
                     : "LC_ALL=C,"),
                   "Incorrect handling of envstrings containing NULs");
         } catch (Throwable t) { unexpected(t); }