101
102 {
103 String moduleName = "bug8134651";
104 JImageGenerator.getJLinkTask()
105 .modulePath(helper.defaultModulePath())
106 .output(helper.createNewImageDir(moduleName))
107 .addMods("leaf1")
108 .option("")
109 .call().assertSuccess();
110 JImageGenerator.getJLinkTask()
111 .modulePath(helper.defaultModulePath())
112 .addMods("leaf1")
113 .option("--output")
114 .option("")
115 .call().assertFailure("Error: no value given for --output");
116 JImageGenerator.getJLinkTask()
117 .modulePath("")
118 .output(helper.createNewImageDir(moduleName))
119 .addMods("leaf1")
120 .option("")
121 .call().assertFailure("Error: no value given for --modulepath");
122 }
123
124 {
125 String moduleName = "filter";
126 Path jmod = helper.generateDefaultJModule(moduleName).assertSuccess();
127 String className = "_A.class";
128 JImageGenerator.addFiles(jmod, new InMemoryFile(className, new byte[0]));
129 Path image = helper.generateDefaultImage(moduleName).assertSuccess();
130 helper.checkImage(image, moduleName, new String[] {"/" + moduleName + "/" + className}, null);
131 }
132
133 {
134 // Help
135 StringWriter writer = new StringWriter();
136 jdk.tools.jlink.internal.Main.run(new String[]{"--help"}, new PrintWriter(writer));
137 String output = writer.toString();
138 if (output.split("\n").length < 10) {
139 System.err.println(output);
140 throw new AssertionError("Help");
141 }
214 "--compress=1:filter=^/java.base/java/lang/*");
215 }
216
217 // compress 2
218 {
219 testCompress(helper, "compress2filtercmdcomposite2",
220 "--compress=2:filter=^/java.base/java/lang/*");
221 }
222
223 // invalid compress level
224 {
225 String[] userOptions = {"--compress", "invalid"};
226 String moduleName = "invalidCompressLevel";
227 helper.generateDefaultJModule(moduleName, "composite2");
228 helper.generateDefaultImage(userOptions, moduleName).assertFailure("Error: Invalid compression level invalid");
229 }
230
231 // @file
232 {
233 Path path = Paths.get("embedded.properties");
234 Files.write(path, Collections.singletonList("--strip-debug --addmods " +
235 "toto.unknown --compress UNKNOWN\n"));
236 String[] userOptions = {"@", path.toAbsolutePath().toString()};
237 String moduleName = "configembeddednocompresscomposite2";
238 helper.generateDefaultJModule(moduleName, "composite2");
239 Path imageDir = helper.generateDefaultImage(userOptions, moduleName).assertSuccess();
240 helper.checkImage(imageDir, moduleName, null, null);
241 }
242
243 }
244
245 private static void testCompress(Helper helper, String moduleName, String... userOptions) throws IOException {
246 helper.generateDefaultJModule(moduleName, "composite2");
247 Path imageDir = helper.generateDefaultImage(userOptions, moduleName).assertSuccess();
248 helper.checkImage(imageDir, moduleName, null, null);
249 }
250 }
|
101
102 {
103 String moduleName = "bug8134651";
104 JImageGenerator.getJLinkTask()
105 .modulePath(helper.defaultModulePath())
106 .output(helper.createNewImageDir(moduleName))
107 .addMods("leaf1")
108 .option("")
109 .call().assertSuccess();
110 JImageGenerator.getJLinkTask()
111 .modulePath(helper.defaultModulePath())
112 .addMods("leaf1")
113 .option("--output")
114 .option("")
115 .call().assertFailure("Error: no value given for --output");
116 JImageGenerator.getJLinkTask()
117 .modulePath("")
118 .output(helper.createNewImageDir(moduleName))
119 .addMods("leaf1")
120 .option("")
121 .call().assertFailure("Error: no value given for --module-path");
122 }
123
124 {
125 String moduleName = "filter";
126 Path jmod = helper.generateDefaultJModule(moduleName).assertSuccess();
127 String className = "_A.class";
128 JImageGenerator.addFiles(jmod, new InMemoryFile(className, new byte[0]));
129 Path image = helper.generateDefaultImage(moduleName).assertSuccess();
130 helper.checkImage(image, moduleName, new String[] {"/" + moduleName + "/" + className}, null);
131 }
132
133 {
134 // Help
135 StringWriter writer = new StringWriter();
136 jdk.tools.jlink.internal.Main.run(new String[]{"--help"}, new PrintWriter(writer));
137 String output = writer.toString();
138 if (output.split("\n").length < 10) {
139 System.err.println(output);
140 throw new AssertionError("Help");
141 }
214 "--compress=1:filter=^/java.base/java/lang/*");
215 }
216
217 // compress 2
218 {
219 testCompress(helper, "compress2filtercmdcomposite2",
220 "--compress=2:filter=^/java.base/java/lang/*");
221 }
222
223 // invalid compress level
224 {
225 String[] userOptions = {"--compress", "invalid"};
226 String moduleName = "invalidCompressLevel";
227 helper.generateDefaultJModule(moduleName, "composite2");
228 helper.generateDefaultImage(userOptions, moduleName).assertFailure("Error: Invalid compression level invalid");
229 }
230
231 // @file
232 {
233 Path path = Paths.get("embedded.properties");
234 Files.write(path, Collections.singletonList("--strip-debug --add-modules " +
235 "toto.unknown --compress UNKNOWN\n"));
236 String[] userOptions = {"@", path.toAbsolutePath().toString()};
237 String moduleName = "configembeddednocompresscomposite2";
238 helper.generateDefaultJModule(moduleName, "composite2");
239 Path imageDir = helper.generateDefaultImage(userOptions, moduleName).assertSuccess();
240 helper.checkImage(imageDir, moduleName, null, null);
241 }
242
243 }
244
245 private static void testCompress(Helper helper, String moduleName, String... userOptions) throws IOException {
246 helper.generateDefaultJModule(moduleName, "composite2");
247 Path imageDir = helper.generateDefaultImage(userOptions, moduleName).assertSuccess();
248 helper.checkImage(imageDir, moduleName, null, null);
249 }
250 }
|