< prev index next >

test/jdk/tools/jpackage/share/InvalidArgTest.java

Print this page

        

@@ -19,26 +19,32 @@
  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  * or visit www.oracle.com if you need additional information or have any
  * 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);
         if (result.length != 1) {
             System.err.println(output);

@@ -56,31 +62,59 @@
             if (!result[0].trim().contains(RESULT2)) {
                 System.err.println("Expected: " + RESULT2);
                 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 {
         String output = JPackageHelper.executeCLI(false,
                 "--type", "app-image", ARG1);
         validate(ARG1, output);
 
         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 {
         String output = JPackageHelper.executeToolProvider(false,
                 "--type", "app-image", ARG1);
         validate(ARG1, output);
 
         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 {
         testInvalidArg();
         testInvalidArgToolProvider();
< prev index next >