39 import jdk.test.lib.compiler.CompilerUtils;
40 import jdk.test.lib.process.OutputAnalyzer;
41 import jdk.test.lib.process.ProcessTools;
42 import org.testng.annotations.BeforeClass;
43 import org.testng.annotations.DataProvider;
44 import org.testng.annotations.Test;
45
46 import java.io.IOException;
47 import java.nio.file.Files;
48 import java.nio.file.Path;
49 import java.nio.file.Paths;
50 import java.util.stream.Stream;
51
52 import static org.testng.Assert.assertTrue;
53
54 public class MultiReleaseJarTest {
55 private static final int SUCCESS = 0;
56
57 @DataProvider(name = "jarFiles")
58 public Object[][] jarFiles() {
59 return new Object[][]{{"MV_BOTH.jar", 9},
60 {"MV_ONLY_9.jar", 9},
61 {"NON_MV.jar", 8}};
62 }
63
64 @BeforeClass
65 public void setUpTest() throws Throwable {
66 compile();
67 Path classes = Paths.get("classes");
68 jar("cf", "MV_BOTH.jar",
69 "-C", classes.resolve("base").toString(), ".",
70 "--release", "9", "-C", classes.resolve("v9").toString(), ".",
71 "--release", "10", "-C", classes.resolve("v10").toString(), ".")
72 .shouldHaveExitValue(SUCCESS);
73
74 jar("cf", "MV_ONLY_9.jar",
75 "-C", classes.resolve("base").toString(), ".",
76 "--release", "9", "-C", classes.resolve("v9").toString(), ".")
77 .shouldHaveExitValue(SUCCESS);
78 jar("cf", "NON_MV.jar",
79 "-C", classes.resolve("base").toString(), ".")
|
39 import jdk.test.lib.compiler.CompilerUtils;
40 import jdk.test.lib.process.OutputAnalyzer;
41 import jdk.test.lib.process.ProcessTools;
42 import org.testng.annotations.BeforeClass;
43 import org.testng.annotations.DataProvider;
44 import org.testng.annotations.Test;
45
46 import java.io.IOException;
47 import java.nio.file.Files;
48 import java.nio.file.Path;
49 import java.nio.file.Paths;
50 import java.util.stream.Stream;
51
52 import static org.testng.Assert.assertTrue;
53
54 public class MultiReleaseJarTest {
55 private static final int SUCCESS = 0;
56
57 @DataProvider(name = "jarFiles")
58 public Object[][] jarFiles() {
59 return new Object[][]{{"MV_BOTH.jar", Math.min(10, Runtime.version().major())},
60 {"MV_ONLY_9.jar", 9},
61 {"NON_MV.jar", 8}};
62 }
63
64 @BeforeClass
65 public void setUpTest() throws Throwable {
66 compile();
67 Path classes = Paths.get("classes");
68 jar("cf", "MV_BOTH.jar",
69 "-C", classes.resolve("base").toString(), ".",
70 "--release", "9", "-C", classes.resolve("v9").toString(), ".",
71 "--release", "10", "-C", classes.resolve("v10").toString(), ".")
72 .shouldHaveExitValue(SUCCESS);
73
74 jar("cf", "MV_ONLY_9.jar",
75 "-C", classes.resolve("base").toString(), ".",
76 "--release", "9", "-C", classes.resolve("v9").toString(), ".")
77 .shouldHaveExitValue(SUCCESS);
78 jar("cf", "NON_MV.jar",
79 "-C", classes.resolve("base").toString(), ".")
|