--- old/test/jdk/tools/launcher/InfoStreams.java 2018-03-21 18:08:09.000000000 -0700 +++ new/test/jdk/tools/launcher/InfoStreams.java 2018-03-21 18:08:08.000000000 -0700 @@ -52,27 +52,33 @@ String classPath = System.getProperty("java.class.path"); - run("-help").stderrShouldMatch(USAGE).stdoutShouldNotMatch("."); - run("--help").stdoutShouldMatch(USAGE).stderrShouldNotMatch("."); + run("-help").stderrShouldMatch(USAGE).stdoutShouldNotMatch(USAGE); + run("--help").stdoutShouldMatch(USAGE).stderrShouldNotMatch(USAGE); - run("-version").stderrShouldMatch(VERSION_ERR).stdoutShouldNotMatch("."); - run("--version").stdoutShouldMatch(VERSION_OUT).stderrShouldNotMatch("."); + run("-version").stderrShouldMatch(VERSION_ERR) + .stdoutShouldNotMatch(VERSION_ERR) + .stdoutShouldNotMatch(VERSION_OUT); + run("--version").stdoutShouldMatch(VERSION_OUT) + .stderrShouldNotMatch(VERSION_OUT) + .stderrShouldNotMatch(VERSION_ERR); run("-showversion", "--dry-run", "-cp", classPath, "InfoStreams") .stderrShouldMatch(VERSION_ERR) - .stdoutShouldNotMatch("."); + .stdoutShouldNotMatch(VERSION_ERR) + .stdoutShouldNotMatch(VERSION_OUT); run("--show-version", "--dry-run", "-cp", classPath, "InfoStreams") .stdoutShouldMatch(VERSION_OUT) - .stderrShouldNotMatch("."); + .stderrShouldNotMatch(VERSION_OUT) + .stderrShouldNotMatch(VERSION_ERR); run("-fullversion").stderrShouldMatch(FULLVERSION_ERR) - .stdoutShouldNotMatch("."); + .stdoutShouldNotMatch(FULLVERSION_ERR) + .stdoutShouldNotMatch(FULLVERSION_OUT); run("--full-version").stdoutShouldMatch(FULLVERSION_OUT) - .stderrShouldNotMatch("."); - - run("-X").stderrShouldMatch(NONSTD).stdoutShouldNotMatch("."); - run("--help-extra").stdoutShouldMatch(NONSTD).stderrShouldNotMatch("."); + .stderrShouldNotMatch(FULLVERSION_OUT) + .stderrShouldNotMatch(FULLVERSION_ERR); + run("-X").stderrShouldMatch(NONSTD).stdoutShouldNotMatch(NONSTD); + run("--help-extra").stdoutShouldMatch(NONSTD).stderrShouldNotMatch(NONSTD); } - } --- old/test/jdk/tools/launcher/ToolsOpts.java 2018-03-21 18:08:10.000000000 -0700 +++ new/test/jdk/tools/launcher/ToolsOpts.java 2018-03-21 18:08:09.000000000 -0700 @@ -184,7 +184,6 @@ break; } - String[] output = tr.testOutput.toArray(new String[tr.testOutput.size()]); //-Joptions should not be passed to tool if (jpos > -1) { checkJoptionOutput(tr, arg); @@ -194,14 +193,22 @@ + "CMD: " + cmdString); } } else { - //check that each non -J option was passed to tool. + //check that each non -J option was passed to tool. The options order should be the same. + int j = 0; + var output = tr.testOutput; for (int i = 0; i < arg.length; i++) { - if (output[i].compareTo(arg[i]) != 0) { + boolean found = false; + for (; j < output.size(); j++) { + if (output.get(j).equals(arg[i])) { + pass("check " + output.get(j) + " == " + arg[i]); + found = true; + break; + } + } + if (!found) { throw new RuntimeException( - "failed! CMD: " + cmdString + "\n case:" + - output[i] + " != " + arg[i]); - } else { - pass("check " + output[i] + " == " + arg[i]); + "failed! Should have passed non -J option [" + arg[i] + "] to tool.\n" + + "CMD: " + cmdString); } } }