20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 8162415 27 * @summary Test warnings for ignored properties. 28 * @modules java.base/jdk.internal.misc 29 * @library /test/lib 30 */ 31 32 import jdk.test.lib.process.OutputAnalyzer; 33 import jdk.test.lib.process.ProcessTools; 34 35 // Test that the VM behaves correctly when processing command line module system properties. 36 public class ModuleOptionsWarn { 37 38 public static void main(String[] args) throws Exception { 39 40 // Test that a warning is issued for module related properties that get ignored. 41 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( 42 "-XX:+PrintWarnings", "-Djdk.module.ignored", "-version"); 43 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 44 output.shouldContain("Ignoring system property option"); 45 output.shouldHaveExitValue(0); 46 47 // Test that a warning can be suppressed for module related properties that get ignored. 48 pb = ProcessTools.createJavaProcessBuilder( 49 "-Djdk.module.ignored", "-XX:-PrintWarnings", "-version"); 50 output = new OutputAnalyzer(pb.start()); 51 output.shouldNotContain("Ignoring system property option"); 52 output.shouldHaveExitValue(0); 53 54 // Test that a warning is not issued for properties of the form "jdk.module.main" 55 pb = ProcessTools.createJavaProcessBuilder( 56 "-XX:+PrintWarnings", "-Djdk.module.main.ignored", "-version"); 57 output = new OutputAnalyzer(pb.start()); 58 output.shouldNotContain("Ignoring system property option"); 59 output.shouldHaveExitValue(0); 60 } 61 } | 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 8162415 27 * @summary Test warnings for ignored properties. 28 * @modules java.base/jdk.internal.misc 29 * @library /test/lib 30 */ 31 32 import jdk.test.lib.process.OutputAnalyzer; 33 import jdk.test.lib.process.ProcessTools; 34 35 // Test that the VM behaves correctly when processing command line module system properties. 36 public class ModuleOptionsWarn { 37 38 public static void main(String[] args) throws Exception { 39 40 // Test that a warning is not issued for extraneous jdk.module properties. 41 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( 42 "-XX:+PrintWarnings", "-Djdk.module.ignored", "-version"); 43 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 44 output.shouldNotContain("Ignoring system property option"); 45 output.shouldHaveExitValue(0); 46 47 // Test that a warning is issued for a reserved jdk.module property. 48 pb = ProcessTools.createJavaProcessBuilder( 49 "-XX:+PrintWarnings", "-Djdk.module.addmods", "-version"); 50 output = new OutputAnalyzer(pb.start()); 51 output.shouldContain("Ignoring system property option"); 52 output.shouldHaveExitValue(0); 53 54 // Test that a warning is issued for a reserved jdk.module property ending in '.'. 55 pb = ProcessTools.createJavaProcessBuilder( 56 "-XX:+PrintWarnings", "-Djdk.module.limitmods.", "-version"); 57 output = new OutputAnalyzer(pb.start()); 58 output.shouldContain("Ignoring system property option"); 59 output.shouldHaveExitValue(0); 60 61 // Test that a warning is issued for a reserved jdk.module property ending in '='. 62 pb = ProcessTools.createJavaProcessBuilder( 63 "-XX:+PrintWarnings", "-Djdk.module.addexports=", "-version"); 64 output = new OutputAnalyzer(pb.start()); 65 output.shouldContain("Ignoring system property option"); 66 output.shouldHaveExitValue(0); 67 68 // Test that a warning is issued for a reserved jdk.module property ending in ".stuff" 69 pb = ProcessTools.createJavaProcessBuilder( 70 "-XX:+PrintWarnings", "-Djdk.module.addreads.stuff", "-version"); 71 output = new OutputAnalyzer(pb.start()); 72 output.shouldContain("Ignoring system property option"); 73 output.shouldHaveExitValue(0); 74 75 // Test that a warning is issued for a reserved jdk.module property ending in "=stuff" 76 pb = ProcessTools.createJavaProcessBuilder( 77 "-XX:+PrintWarnings", "-Djdk.module.path=stuff", "-version"); 78 output = new OutputAnalyzer(pb.start()); 79 output.shouldContain("Ignoring system property option"); 80 output.shouldHaveExitValue(0); 81 82 // Test that a warning is issued for a reserved jdk.module property ending in ".=" 83 pb = ProcessTools.createJavaProcessBuilder( 84 "-XX:+PrintWarnings", "-Djdk.module.upgrade.path.=xx", "-version"); 85 output = new OutputAnalyzer(pb.start()); 86 output.shouldContain("Ignoring system property option"); 87 output.shouldHaveExitValue(0); 88 89 // Test that a warning is issued for a reserved jdk.module property ending in ".<num>" 90 pb = ProcessTools.createJavaProcessBuilder( 91 "-XX:+PrintWarnings", "-Djdk.module.patch.3=xx", "-version"); 92 output = new OutputAnalyzer(pb.start()); 93 output.shouldContain("Ignoring system property option"); 94 output.shouldHaveExitValue(0); 95 96 // Test that a warning can be suppressed for module related properties that get ignored. 97 pb = ProcessTools.createJavaProcessBuilder( 98 "-Djdk.module.addmods", "-XX:-PrintWarnings", "-version"); 99 output = new OutputAnalyzer(pb.start()); 100 output.shouldNotContain("Ignoring system property option"); 101 output.shouldHaveExitValue(0); 102 103 // Test that a warning is not issued for properties of the form "jdk.module.main" 104 pb = ProcessTools.createJavaProcessBuilder( 105 "-XX:+PrintWarnings", "-Djdk.module.main.ignored", "-version"); 106 output = new OutputAnalyzer(pb.start()); 107 output.shouldNotContain("Ignoring system property option"); 108 output.shouldHaveExitValue(0); 109 } 110 } |