Skip to content

Commit 287c6d8

Browse files
Add RuntimeImageTest.testStrippedFiles() test to verify jmods and src.zip files are stripped from copied runtime
1 parent e169095 commit 287c6d8

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

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

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@
2121
* questions.
2222
*/
2323

24+
import java.io.IOException;
2425
import java.nio.file.Files;
2526
import java.nio.file.Path;
26-
import jdk.jpackage.test.TKit;
2727
import jdk.jpackage.test.Annotations.Test;
28+
import jdk.jpackage.test.Executor;
2829
import jdk.jpackage.test.JPackageCommand;
2930
import jdk.jpackage.test.JavaTool;
30-
import jdk.jpackage.test.Executor;
31+
import jdk.jpackage.test.TKit;
3132

3233
/*
3334
* @test
@@ -43,7 +44,7 @@
4344
public class RuntimeImageTest {
4445

4546
@Test
46-
public static void test() throws Exception {
47+
public static void test() throws IOException {
4748

4849
JPackageCommand cmd = JPackageCommand.helloAppImage();
4950

@@ -70,4 +71,27 @@ public static void test() throws Exception {
7071
cmd.executeAndAssertHelloAppImageCreated();
7172
}
7273

74+
@Test
75+
public static void testStrippedFiles() throws IOException {
76+
final var cmd = JPackageCommand.helloAppImage().setFakeRuntime();
77+
78+
final var runtimePath = Path.of(cmd.executePrerequisiteActions().getArgumentValue("--runtime-image"));
79+
80+
Files.createDirectories(runtimePath.resolve("jmods"));
81+
Files.createDirectories(runtimePath.resolve("lib"));
82+
Files.createFile(runtimePath.resolve("lib/src.zip"));
83+
Files.createFile(runtimePath.resolve("src.zip"));
84+
85+
Files.createDirectories(runtimePath.resolve("foo/bar/src.zip"));
86+
Files.createDirectories(runtimePath.resolve("custom/jmods"));
87+
88+
(new JPackageCommand()).addArguments(cmd.getAllArguments()).executeAndAssertHelloAppImageCreated();
89+
90+
final var appRuntimeDir = cmd.appLayout().runtimeHomeDirectory();
91+
TKit.assertPathExists(appRuntimeDir.resolve("jmods"), false);
92+
TKit.assertPathExists(appRuntimeDir.resolve("lib/src.zip"), false);
93+
TKit.assertPathExists(appRuntimeDir.resolve("src.zip"), false);
94+
TKit.assertDirectoryExists(appRuntimeDir.resolve("foo/bar/src.zip"));
95+
TKit.assertDirectoryExists(appRuntimeDir.resolve("custom/jmods"));
96+
}
7397
}

0 commit comments

Comments
 (0)