< prev index next >

test/hotspot/jtreg/runtime/modules/PatchModule/PatchModuleClassList.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -38,11 +38,11 @@
 import jdk.test.lib.process.OutputAnalyzer;
 import jdk.test.lib.process.ProcessTools;
 
 public class PatchModuleClassList {
     private static final String BOOT_CLASS = "javax/naming/spi/NamingManager";
-    private static final String PLATFORM_CLASS = "javax/transaction/InvalidTransactionException";
+    private static final String PLATFORM_CLASS = "java/sql/ResultSet";
 
     public static void main(String args[]) throws Throwable {
         // Case 1. A class to be loaded by the boot class loader
 
         // Create a class file in the module java.naming. This class file

@@ -66,44 +66,48 @@
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
             true,
             "-XX:DumpLoadedClassList=" + classList,
             "--patch-module=java.naming=" + moduleJar,
             "PatchModuleMain", BOOT_CLASS.replace('/', '.'));
-        new OutputAnalyzer(pb.start()).shouldHaveExitValue(0);
+        OutputAnalyzer oa = new OutputAnalyzer(pb.start());
+        oa.shouldContain("I pass!");
+        oa.shouldHaveExitValue(0);
 
         // check the generated classlist file
         String content = new String(Files.readAllBytes(Paths.get(classList)));
         if (content.indexOf(BOOT_CLASS) >= 0) {
             throw new RuntimeException(BOOT_CLASS + " should not be in the classlist");
         }
 
         // Case 2. A class to be loaded by the platform class loader
 
-        // Create a class file in the module java.transaction. This class file
-        // will be put in the javatransaction.jar file.
-        source = "package javax.transaction; "                 +
-                 "public class InvalidTransactionException { " +
+        // Create a class file in the module java.sql. This class file
+        // will be put in the javasql.jar file.
+        source = "package java.sql; "                 +
+                 "public class ResultSet { " +
                  "    static { "                               +
-                 "        System.out.println(\"I pass!\"); "   +
+                 "        System.out.println(\"I pass too!\"); "   +
                  "    } "                                      +
                  "}";
 
         ClassFileInstaller.writeClassToDisk(PLATFORM_CLASS,
-             InMemoryJavaCompiler.compile(PLATFORM_CLASS.replace('/', '.'), source, "--patch-module=java.transaction"),
+             InMemoryJavaCompiler.compile(PLATFORM_CLASS.replace('/', '.'), source, "--patch-module=java.sql"),
              System.getProperty("test.classes"));
 
-        // Build the jar file that will be used for the module "java.transaction".
-        BasicJarBuilder.build("javatransaction", PLATFORM_CLASS);
-        moduleJar = BasicJarBuilder.getTestJar("javatransaction.jar");
+        // Build the jar file that will be used for the module "java.sql".
+        BasicJarBuilder.build("javasql", PLATFORM_CLASS);
+        moduleJar = BasicJarBuilder.getTestJar("javasql.jar");
 
-        classList = "javatransaction.list";
+        classList = "javasql.list";
         pb = ProcessTools.createJavaProcessBuilder(
             true,
             "-XX:DumpLoadedClassList=" + classList,
-            "--patch-module=java.naming=" + moduleJar,
+            "--patch-module=java.sql=" + moduleJar,
             "PatchModuleMain", PLATFORM_CLASS.replace('/', '.'));
-        new OutputAnalyzer(pb.start()).shouldHaveExitValue(0);
+        OutputAnalyzer oa2 = new OutputAnalyzer(pb.start());
+        oa2.shouldContain("I pass too!");
+        oa2.shouldHaveExitValue(0);
 
         // check the generated classlist file
         content = new String(Files.readAllBytes(Paths.get(classList)));
         if (content.indexOf(PLATFORM_CLASS) >= 0) {
             throw new RuntimeException(PLATFORM_CLASS + " should not be in the classlist");
< prev index next >