< prev index next >

test/langtools/tools/jdeps/MultiReleaseJar.java

Print this page

        

*** 25,35 **** * @test * @bug 8153654 8176333 * @summary Tests for jdeps tool with multi-release jar files * @modules jdk.jdeps/com.sun.tools.jdeps * @library mrjar mrjar/base mrjar/9 mrjar/10 mrjar/v9 mrjar/v10 ! * @build test.* p.* q.* foo/* * @run testng MultiReleaseJar */ import org.testng.Assert; import org.testng.annotations.AfterClass; --- 25,35 ---- * @test * @bug 8153654 8176333 * @summary Tests for jdeps tool with multi-release jar files * @modules jdk.jdeps/com.sun.tools.jdeps * @library mrjar mrjar/base mrjar/9 mrjar/10 mrjar/v9 mrjar/v10 ! * @build test.* p.* q.* foo/* Main * @run testng MultiReleaseJar */ import org.testng.Assert; import org.testng.annotations.AfterClass;
*** 57,82 **** .findAny() .orElseThrow(() -> new InternalError("mrjar not found")); testJdk = System.getProperty("test.jdk"); fileSep = System.getProperty("file.separator"); cmdPath = Paths.get(testJdk, "bin"); - } - @Test - public void basic() throws Exception { // build Version.jar, Version_9.jar and main.jar Result r = run("jar -cf Version.jar -C base test --release 9 -C 9 test --release 10 -C 10 test"); checkResult(r); r = run("jar -cf Version_9.jar -C base test --release 9 -C 9 test"); checkResult(r); ! r = run("jar -cf Main.jar test/Main.class"); checkResult(r); ! // try out a bunch of things ! r = run("jdeps --multi-release 9 -v missing.jar"); checkResult(r, false, "Warning: Path does not exist: missing.jar"); r = run("jdeps -v Version.jar"); checkResult(r, false, "--multi-release option is not set"); --- 57,88 ---- .findAny() .orElseThrow(() -> new InternalError("mrjar not found")); testJdk = System.getProperty("test.jdk"); fileSep = System.getProperty("file.separator"); cmdPath = Paths.get(testJdk, "bin"); // build Version.jar, Version_9.jar and main.jar Result r = run("jar -cf Version.jar -C base test --release 9 -C 9 test --release 10 -C 10 test"); checkResult(r); r = run("jar -cf Version_9.jar -C base test --release 9 -C 9 test"); checkResult(r); ! r = run("jar -cf Main.jar Main.class"); checkResult(r); ! r = run("jar -cf Foo.jar -C base p"); ! checkResult(r); ! ! Path foo = Paths.get(System.getProperty("test.classes")).resolve("modules").resolve("foo"); ! r = run("jar -uf Foo.jar --release 9 -C " + foo.toString() + " module-info.class --release 10 -C v10 q"); ! checkResult(r); ! } ! ! @Test ! public void basic() throws Exception { ! Result r = run("jdeps --multi-release 9 -v missing.jar"); checkResult(r, false, "Warning: Path does not exist: missing.jar"); r = run("jdeps -v Version.jar"); checkResult(r, false, "--multi-release option is not set");
*** 113,206 **** checkResult(r, false, "Error: invalid argument for option: 8"); r = run("jdeps --multi-release 9.1 -v Version.jar"); checkResult(r, false, "Error: invalid argument for option: 9.1"); ! runJdeps("test/Main.class"); runJdeps("Main.jar"); } private void runJdeps(String path) throws Exception { Result r = run("jdeps -v -R -cp Version.jar " + path); checkResult(r, false, "--multi-release option is not set"); ! r = run("jdeps -v -R -cp Version.jar -multi-release 9 " + path); checkResult(r, false, "Error: unknown option: -multi-release", "Usage: jdeps <options> <path", "use --help" ); ! r = run("jdeps -v -R -cp Version.jar --multi-release 9 " + path); String name = path; int index = path.lastIndexOf('/'); if (index >= 0) { name = path.substring(index + 1, path.length()); } checkResult(r, true, ! name + " ->", ! name + " ->", ! "test.Main", ! "test.Main", ! "test.Main", ! "Version.jar ->", "9/test.NonPublic", "9/test.NonPublic", "9/test.Version", "9/test.Version", "9/test.Version", ! "9/test.Version" ); ! r = run("jdeps -v -R -cp Version.jar --multi-release 10 " + path); checkResult(r, true, ! name + " ->", ! name + " ->", ! "test.Main", ! "test.Main", ! "test.Main", "Version.jar ->", "10/test.Version", "10/test.Version", "10/test.Version", "10/test.Version", "9/test.NonPublic", ! "9/test.NonPublic" ); ! r = run("jdeps -v -R -cp Version.jar --multi-release base " + path); checkResult(r, true, ! name + " ->", ! name + " ->", ! "test.Main", ! "test.Main", ! "test.Main", "Version.jar ->", "test.Version", ! "test.Version" ); ! r = run("jdeps -v -R -cp Version.jar --multi-release 9.1 " + path); checkResult(r, false, "Error: invalid argument for option: 9.1"); // Version_9.jar does not have any version 10 entry ! r = run("jdeps -v -R -cp Version_9.jar --multi-release 10 " + path); checkResult(r, true, ! name + " ->", ! name + " ->", ! "test.Main", ! "test.Main", ! "test.Main", "Version_9.jar ->", "9/test.NonPublic", "9/test.NonPublic", "9/test.Version", "9/test.Version", "9/test.Version", ! "9/test.Version" ); } @Test public void ps_and_qs() throws Exception { --- 119,240 ---- checkResult(r, false, "Error: invalid argument for option: 8"); r = run("jdeps --multi-release 9.1 -v Version.jar"); checkResult(r, false, "Error: invalid argument for option: 9.1"); ! runJdeps("Main.class"); runJdeps("Main.jar"); } private void runJdeps(String path) throws Exception { Result r = run("jdeps -v -R -cp Version.jar " + path); checkResult(r, false, "--multi-release option is not set"); ! r = run("jdeps -v -R -cp Version.jar --module-path Foo.jar -multi-release 9 " + path); checkResult(r, false, "Error: unknown option: -multi-release", "Usage: jdeps <options> <path", "use --help" ); ! r = run("jdeps -v -R -cp Version.jar --module-path Foo.jar --multi-release 9 " + path); String name = path; int index = path.lastIndexOf('/'); if (index >= 0) { name = path.substring(index + 1, path.length()); } checkResult(r, true, ! name + " -> Version.jar", ! name + " -> foo", ! name + " -> java.base", ! "Main", ! "Main", ! "Main", ! "Main", ! "Version.jar -> java.base", "9/test.NonPublic", "9/test.NonPublic", "9/test.Version", "9/test.Version", "9/test.Version", ! "9/test.Version", ! "foo", ! "Foo.jar", ! "requires mandated java.base", ! "foo -> java.base", ! "p.Foo" ); ! r = run("jdeps -v -R -cp Version.jar --module-path Foo.jar --multi-release 10 " + path); checkResult(r, true, ! name + " -> Version.jar", ! name + " -> foo", ! name + " -> java.base", ! "Main", ! "Main", ! "Main", ! "Main", "Version.jar ->", "10/test.Version", "10/test.Version", "10/test.Version", "10/test.Version", "9/test.NonPublic", ! "9/test.NonPublic", ! "foo", ! "Foo.jar", ! "requires mandated java.base", ! "foo -> java.base", ! "p.Foo" ); ! r = run("jdeps -v -R -cp Version.jar --module-path Foo.jar --multi-release base " + path); checkResult(r, true, ! name + " -> Version.jar", ! name + " -> foo", ! name + " -> java.base", ! "Main", ! "Main", ! "Main", ! "Main", "Version.jar ->", "test.Version", ! "test.Version", ! "foo", ! "Foo.jar", ! "requires mandated java.base", ! "foo -> java.base", ! "p.Foo" ); ! r = run("jdeps -v -R -cp Version.jar --module-path Foo.jar --multi-release 9.1 " + path); checkResult(r, false, "Error: invalid argument for option: 9.1"); // Version_9.jar does not have any version 10 entry ! r = run("jdeps -v -R -cp Version_9.jar --module-path Foo.jar --multi-release 10 " + path); checkResult(r, true, ! name + " -> Version_9.jar", ! name + " -> foo", ! name + " -> java.base", ! "Main", ! "Main", ! "Main", ! "Main", "Version_9.jar ->", "9/test.NonPublic", "9/test.NonPublic", "9/test.Version", "9/test.Version", "9/test.Version", ! "9/test.Version", ! "foo", ! "Foo.jar", ! "requires mandated java.base", ! "foo -> java.base", ! "p.Foo" ); } @Test public void ps_and_qs() throws Exception {
*** 234,283 **** ); } @Test public void modularJar() throws Exception { ! Result r = run("jar -cf foo.jar -C base p"); ! checkResult(r); ! ! Path foo = Paths.get(System.getProperty("test.classes")).resolve("modules").resolve("foo"); ! r = run("jar -uf foo.jar --release 9 -C " + foo.toString() + " module-info.class --release 10 -C v10 q"); ! checkResult(r); ! ! r = run("jdeps -v --multi-release 10 --module-path foo.jar -m foo"); checkResult(r, true, "foo", // module name ! "foo.jar", // the path to foo.jar "requires mandated java.base", // module dependences "foo -> java.base", "10/q.Bar", "10/q.Bar", "10/q.Gee", "p.Foo" ); ! r = run("jdeps --multi-release 9 --module-path foo.jar Main.jar"); ! checkResult(r, true, ! "Main.jar ->", ! "test", ! "foo", // module name ! "foo.jar", // the path to foo.jar ! "requires mandated java.base", // module dependences ! "foo -> java.base", ! "p" ! ); ! ! r = run("jdeps --multi-release 10 --module-path foo.jar Main.jar"); checkResult(r, true, ! "Main.jar ->", ! "test", ! "foo", // module name ! "foo.jar", // the path to foo.jar ! "requires mandated java.base", // module dependences ! "foo -> java.base", ! "p", ! "q" ); } static class Result { final String cmd; --- 268,307 ---- ); } @Test public void modularJar() throws Exception { ! Result r = run("jdeps -v --multi-release 10 --module-path Foo.jar -m foo"); checkResult(r, true, "foo", // module name ! "Foo.jar", // the path to Foo.jar "requires mandated java.base", // module dependences "foo -> java.base", "10/q.Bar", "10/q.Bar", "10/q.Gee", "p.Foo" ); ! r = run("jdeps --multi-release 9 -cp Version.jar --module-path Foo.jar Main.jar"); checkResult(r, true, ! "Main.jar -> Version.jar", ! "Main.jar -> foo", ! "Main.jar -> java.base", ! "-> java.lang", ! "-> p", ! "-> test" ! ); ! ! r = run("jdeps --multi-release 10 -cp Version.jar --module-path Foo.jar Main.jar"); ! checkResult(r, true, ! "Main.jar -> Version.jar", ! "Main.jar -> foo", ! "Main.jar -> java.base", ! "-> java.lang", ! "-> p", ! "-> test" ); } static class Result { final String cmd;
< prev index next >