--- old/test/jdk/java/util/jar/JarFile/mrjar/TestVersionedStream.java 2018-06-21 20:20:27.736303495 -0700 +++ new/test/jdk/java/util/jar/JarFile/mrjar/TestVersionedStream.java 2018-06-21 20:20:27.015943472 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -64,6 +64,8 @@ private final Path userdir; private final Set unversionedEntryNames; + private static final int LATEST_VERSION = Runtime.version().feature(); + public TestVersionedStream() throws IOException { userdir = Paths.get(System.getProperty("user.dir", ".")); @@ -79,12 +81,14 @@ "v9/p/Foo.class", "v10/p/Foo.class", "v10/q/Bar.class", - "v11/p/Bar.class", - "v11/p/Foo.class" + "v" + LATEST_VERSION + "/p/Bar.class", + "v" + LATEST_VERSION + "/p/Foo.class" ); - jar("cf mmr.jar -C base . --release 9 -C v9 . " + - "--release 10 -C v10 . --release 11 -C v11 ."); + jar("cf mmr.jar -C base . " + + "--release 9 -C v9 . " + + "--release 10 -C v10 . " + + "--release " + LATEST_VERSION + " -C v" + LATEST_VERSION + " ."); System.out.println("Contents of mmr.jar\n======="); @@ -124,7 +128,7 @@ {Runtime.Version.parse("8")}, {Runtime.Version.parse("9")}, {Runtime.Version.parse("10")}, - {Runtime.Version.parse("11")}, + {Runtime.Version.parse(Integer.toString(LATEST_VERSION))}, {JarFile.baseVersion()}, {JarFile.runtimeVersion()} }; @@ -173,7 +177,8 @@ expected.put("p/Bar.class", new String[] { "base/p/Bar.class", "p/Bar.class" }); expected.put("p/Main.class", new String[] { "base/p/Main.class", "p/Main.class" }); - switch (version.major()) { + int majorVersion = version.major(); + switch (majorVersion) { case 8: expected.put("p/Foo.class", new String[] { "base/p/Foo.class", "p/Foo.class" }); @@ -189,16 +194,19 @@ expected.put("q/Bar.class", new String[] { "v10/q/Bar.class", "META-INF/versions/10/q/Bar.class" }); break; - case 11: - expected.put("p/Bar.class", new String[] - { "v11/p/Bar.class", "META-INF/versions/11/p/Bar.class"}); - expected.put("p/Foo.class", new String[] - { "v11/p/Foo.class", "META-INF/versions/11/p/Foo.class"}); - expected.put("q/Bar.class", new String[] - { "q/Bar.class", "META-INF/versions/10/q/Bar.class"}); - break; default: - Assert.fail("Test out of date, please add more cases"); + if (majorVersion == LATEST_VERSION) { + expected.put("p/Bar.class", + new String[] { "v" + LATEST_VERSION + "/p/Bar.class", + "META-INF/versions/" + LATEST_VERSION + "/p/Bar.class"}); + expected.put("p/Foo.class", + new String[]{ "v" + LATEST_VERSION + "/p/Foo.class", + "META-INF/versions/" + LATEST_VERSION + "/p/Foo.class"}); + expected.put("q/Bar.class", + new String[] { "q/Bar.class", "META-INF/versions/10/q/Bar.class"}); + } else { + Assert.fail("Test out of date, please add more cases"); + } } expected.entrySet().stream().forEach(e -> {