--- old/test/jdk/tools/jpackage/share/InvalidArgTest.java 2020-02-05 12:59:47.307136500 -0500 +++ new/test/jdk/tools/jpackage/share/InvalidArgTest.java 2020-02-05 12:59:43.955724500 -0500 @@ -21,22 +21,28 @@ * questions. */ +import jdk.incubator.jpackage.internal.Bundlers; +import jdk.incubator.jpackage.internal.Bundler; + /* * @test * @summary jpackage invalid argument test * @library ../helpers * @build JPackageHelper * @build JPackagePath - * @modules jdk.incubator.jpackage + * @modules jdk.incubator.jpackage/jdk.incubator.jpackage.internal * @run main/othervm -Xmx512m InvalidArgTest */ public class InvalidArgTest { private static final String ARG1 = "--no-such-argument"; private static final String ARG2 = "--dest"; + private static final String ARG3 = "--runtime-image"; + private static final String RESULT1 = "Invalid Option: [--no-such-argument]"; private static final String RESULT2 = "--main-jar or --module"; + private static final String RESULT3 = "does not exist"; private static void validate(String arg, String output) throws Exception { String[] result = JPackageHelper.splitAndFilter(output); @@ -58,7 +64,23 @@ System.err.println("Actual: " + result[0]); throw new AssertionError("Unexpected output: " + result[0]); } + } else if (arg.equals(ARG3)) { + if (!result[0].trim().contains(RESULT3)) { + System.err.println("Expected error msg to contain: " + RESULT3); + System.err.println("Actual: " + result[0]); + throw new AssertionError("Unexpected output: " + result[0]); + } + } + } + + private static boolean defaultSupported() { + for (Bundler bundler : + Bundlers.createBundlersInstance().getBundlers("INSTALLER")) { + if (bundler.isDefault() && bundler.supported(true)) { + return true; + } } + return false; } private static void testInvalidArg() throws Exception { @@ -69,6 +91,12 @@ output = JPackageHelper.executeCLI(false, "--type", "app-image", ARG2); validate(ARG2, output); + + if (defaultSupported()) { + output = JPackageHelper.executeCLI(false, + ARG3, "JDK-non-existant"); + validate(ARG3, output); + } } private static void testInvalidArgToolProvider() throws Exception { @@ -79,6 +107,12 @@ output = JPackageHelper.executeToolProvider(false, "--type", "app-image", ARG2); validate(ARG2, output); + + if (defaultSupported()) { + output = JPackageHelper.executeToolProvider(false, + ARG3, "JDK-non-existant"); + validate(ARG3, output); + } } public static void main(String[] args) throws Exception {