< prev index next >

test/hotspot/jtreg/runtime/cds/appcds/jigsaw/modulepath/ModulePathAndCP.java

Print this page

        

@@ -102,33 +102,35 @@
         OutputAnalyzer output = TestCommon.createArchive(
                                         null, appClasses,
                                         "--module-path", moduleDir.toString(),
                                         "-m", MAIN_MODULE);
         TestCommon.checkDump(output);
-        String prefix[] = {"-Djava.class.path=", "-Xlog:class+load=trace"};
+        String prefix[] = {"-Djava.class.path=", "-Xlog:cds,class+load=trace"};
         prefix = TestCommon.concat(prefix, extra_runtime_args);
 
         // run with the archive with the --module-path the same as the one during
         // dump time. The classes should be loaded from the archive.
         TestCommon.runWithModules(prefix,
                                   null, // --upgrade-module-path
                                   moduleDir.toString(), // --module-path
                                   MAIN_MODULE) // -m
             .assertNormalExit(out -> {
                 out.shouldContain("[class,load] com.greetings.Main source: shared objects file")
-                   .shouldContain("[class,load] org.astro.World source: shared objects file");
+                   .shouldContain("[class,load] org.astro.World source: shared objects file")
+                   .shouldContain("--module-path = " + moduleDir.toString());
             });
 
         // run with the archive with the --module-path different from the one during
         // dump time. The classes should be loaded from the jar files.
         TestCommon.runWithModules(prefix,
                                   null, // --upgrade-module-path
                                   moduleDir2.toString(), // --module-path
                                   MAIN_MODULE) // -m
             .assertNormalExit(out -> {
                 out.shouldMatch(".class.load. com.greetings.Main source:.*com.greetings.jar")
-                   .shouldMatch(".class.load. org.astro.World source:.*org.astro.jar");
+                   .shouldMatch(".class.load. org.astro.World source:.*org.astro.jar")
+                   .shouldContain("--module-path = " + moduleDir2.toString());
             });
 
         // create an archive with modular jar files in both -cp and --module-path
         String jars = subJar.toString() + System.getProperty("path.separator") +
                       mainJar.toString();

@@ -141,28 +143,30 @@
         // run with archive with the main class name specified before
         // the module name with the -m option. Since the -m option was specified
         // during dump time, the classes in the jar files after the -cp won't be
         // archived. Therefore, the classes won't be loaded from the archive but
         // will be loaded from the jar files.
-        TestCommon.run("-Xlog:class+load=trace",
+        TestCommon.run("-Xlog:cds,class+load=trace",
                        "-cp", jars,
                        "--module-path", moduleDir.toString(),
                        MAIN_CLASS, "-m", MAIN_MODULE)
             .assertNormalExit(out -> {
                 out.shouldMatch(".class.load. com.greetings.Main source:.*com.greetings.jar")
-                   .shouldMatch(".class.load. org.astro.World source:.*org.astro.jar");
+                   .shouldMatch(".class.load. org.astro.World source:.*org.astro.jar")
+                   .shouldContain("--module-path = " + moduleDir.toString());
             });
 
         // similar to the above case but without the main class name. The classes
         // should be loaded from the archive.
-        TestCommon.run("-Xlog:class+load=trace",
+        TestCommon.run("-Xlog:cds,class+load=trace",
                        "-cp", jars,
                        "--module-path", moduleDir.toString(),
                        "-m", MAIN_MODULE)
             .assertNormalExit(
               "[class,load] com.greetings.Main source: shared objects file",
-              "[class,load] org.astro.World source: shared objects file");
+              "[class,load] org.astro.World source: shared objects file",
+              "--module-path = " + moduleDir.toString());
 
         // create an archive with two modular jars in the --module-path
         output = TestCommon.createArchive(
                                         null, appClasses,
                                         "--module-path", jars,

@@ -171,17 +175,31 @@
 
         // run with the above archive but with the modular jar containing the
         // org.astro module in a different location.
         // The org.astro.World class should be loaded from the jar.
         // The Main class should still be loaded from the archive.
-        jars = destJar.toString() + System.getProperty("path.separator") +
+       final String mjars = destJar.toString() + System.getProperty("path.separator") +
                       mainJar.toString();
         TestCommon.runWithModules(prefix,
                                   null, // --upgrade-module-path
-                                  jars, // --module-path
+                                  mjars, // --module-path
                                   MAIN_MODULE) // -m
             .assertNormalExit(out -> {
                 out.shouldContain("[class,load] com.greetings.Main source: shared objects file")
-                   .shouldMatch(".class.load. org.astro.World source:.*org.astro.jar");
+                   .shouldMatch(".class.load. org.astro.World source:.*org.astro.jar")
+                   .shouldContain("--module-path = " + mjars);
             });
+        // run with CDS off, '--module-path = <path>' should not be printed out on output
+        TestCommon.run("-Xshare:off",
+                       "-Xlog:cds,class+load=trace",
+                       "-cp", mjars,
+                       "--module-path", mjars,
+                       "-m",
+                       MAIN_MODULE)
+            .assertNormalExit(out -> {
+                out.shouldMatch(".class,load. com.greetings.Main source: .*com.greetings.jar")
+                   .shouldMatch(".class.load. org.astro.World source:.*org.astro.jar")
+                   .shouldNotContain("--module-path = " + mjars);
+            });
+
     }
 }
< prev index next >