From 3a964c4908cf6bd95c6afecb78ba817f91ffc864 Mon Sep 17 00:00:00 2001 From: "Marc R. Hoffmann" Date: Tue, 9 Jun 2020 09:28:35 +0200 Subject: [PATCH] Consolidate place to check current JDK version --- .../test/validation/java14/InstanceofTest.java | 3 ++- .../test/validation/java5/EnumSwitchTest.java | 3 ++- .../core/test/validation/java5/FinallyTest.java | 15 ++++++++------- .../validation/java7/TryWithResourcesTest.java | 13 +++++++------ .../validation/java8/BadCycleInterfaceTest.java | 7 ++++--- .../core/test/validation/ValidationTestBase.java | 3 --- 6 files changed, 23 insertions(+), 21 deletions(-) diff --git a/org.jacoco.core.test.validation.java14/src/org/jacoco/core/test/validation/java14/InstanceofTest.java b/org.jacoco.core.test.validation.java14/src/org/jacoco/core/test/validation/java14/InstanceofTest.java index 4a085f2726..173dc976f5 100644 --- a/org.jacoco.core.test.validation.java14/src/org/jacoco/core/test/validation/java14/InstanceofTest.java +++ b/org.jacoco.core.test.validation.java14/src/org/jacoco/core/test/validation/java14/InstanceofTest.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.jacoco.core.test.validation.java14; +import org.jacoco.core.test.validation.JavaVersion; import org.jacoco.core.test.validation.Source.Line; import org.jacoco.core.test.validation.ValidationTestBase; import org.jacoco.core.test.validation.java14.targets.InstanceofTarget; @@ -26,7 +27,7 @@ public InstanceofTest() { } public void assertInstanceof(final Line line) { - if (isJDKCompiler && JAVA_VERSION.isBefore("15")) { + if (isJDKCompiler && JavaVersion.current().isBefore("15")) { // https://bugs.openjdk.java.net/browse/JDK-8237528 assertFullyCovered(line, 1, 3); } else { diff --git a/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/EnumSwitchTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/EnumSwitchTest.java index 10bce0bdd6..21cc9461d7 100644 --- a/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/EnumSwitchTest.java +++ b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/EnumSwitchTest.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.jacoco.core.test.validation.java5; +import org.jacoco.core.test.validation.JavaVersion; import org.jacoco.core.test.validation.Source.Line; import org.jacoco.core.test.validation.ValidationTestBase; import org.jacoco.core.test.validation.java5.targets.EnumSwitchTarget; @@ -27,7 +28,7 @@ public EnumSwitchTest() { } public void assertSwitch(final Line line) { - if (isJDKCompiler && JAVA_VERSION.isBefore("1.6")) { + if (isJDKCompiler && JavaVersion.current().isBefore("1.6")) { // class that holds "switch map" is not marked as synthetic when // compiling with javac 1.5 assertPartlyCovered(line, 0, 2); diff --git a/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/FinallyTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/FinallyTest.java index ca665c9424..d5e591c0a2 100644 --- a/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/FinallyTest.java +++ b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/FinallyTest.java @@ -24,6 +24,7 @@ import org.jacoco.core.internal.instr.InstrSupport; import org.jacoco.core.test.TargetLoader; +import org.jacoco.core.test.validation.JavaVersion; import org.jacoco.core.test.validation.Source.Line; import org.jacoco.core.test.validation.ValidationTestBase; import org.jacoco.core.test.validation.java5.targets.FinallyTarget; @@ -62,7 +63,7 @@ public void assertFinally(final Line line) { } public void assertTwoRegions1(final Line line) { - if (isJDKCompiler && JAVA_VERSION.isBefore("1.8")) { + if (isJDKCompiler && JavaVersion.current().isBefore("1.8")) { // https://bugs.openjdk.java.net/browse/JDK-7008643 assertPartlyCovered(line); } else { @@ -71,7 +72,7 @@ public void assertTwoRegions1(final Line line) { } public void assertTwoRegionsReturn1(final Line line) { - if (isJDKCompiler && JAVA_VERSION.isBefore("1.8")) { + if (isJDKCompiler && JavaVersion.current().isBefore("1.8")) { // https://bugs.openjdk.java.net/browse/JDK-7008643 assertEmpty(line); } else { @@ -80,7 +81,7 @@ public void assertTwoRegionsReturn1(final Line line) { } public void assertTwoRegionsReturn2(final Line line) { - if (isJDKCompiler && JAVA_VERSION.isBefore("1.8")) { + if (isJDKCompiler && JavaVersion.current().isBefore("1.8")) { // https://bugs.openjdk.java.net/browse/JDK-7008643 assertEmpty(line); } else { @@ -89,7 +90,7 @@ public void assertTwoRegionsReturn2(final Line line) { } public void assertEmptyTry1(final Line line) { - if (isJDKCompiler && JAVA_VERSION.isBefore("1.8")) { + if (isJDKCompiler && JavaVersion.current().isBefore("1.8")) { // compiler bug fixed in javac >= 1.8: assertPartlyCovered(line); } else { @@ -98,7 +99,7 @@ public void assertEmptyTry1(final Line line) { } public void assertEmptyTry2(final Line line) { - if (isJDKCompiler && JAVA_VERSION.isBefore("1.8")) { + if (isJDKCompiler && JavaVersion.current().isBefore("1.8")) { // compiler bug fixed in javac >= 1.8: assertFullyCovered(line); } else { @@ -146,7 +147,7 @@ private void gotos() throws IOException { expected.add("breakStatement.for"); if (isJDKCompiler) { - if (JAVA_VERSION.isBefore("10")) { + if (JavaVersion.current().isBefore("10")) { // https://bugs.openjdk.java.net/browse/JDK-8180141 expected.add("breakStatement.1"); } else { @@ -179,7 +180,7 @@ private void gotos() throws IOException { expected.add("nested.3"); } - if (isJDKCompiler && JAVA_VERSION.isBefore("1.8")) { + if (isJDKCompiler && JavaVersion.current().isBefore("1.8")) { expected.add("emptyTry.2"); } diff --git a/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/validation/java7/TryWithResourcesTest.java b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/validation/java7/TryWithResourcesTest.java index 761fc2c4d8..448afe8a02 100644 --- a/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/validation/java7/TryWithResourcesTest.java +++ b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/validation/java7/TryWithResourcesTest.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.jacoco.core.test.validation.java7; +import org.jacoco.core.test.validation.JavaVersion; import org.jacoco.core.test.validation.Source.Line; import org.jacoco.core.test.validation.ValidationTestBase; import org.jacoco.core.test.validation.java7.targets.TryWithResourcesTarget; @@ -28,7 +29,7 @@ public TryWithResourcesTest() { public void assertTry(final Line line) { // without filter this line is covered partly: - if (!isJDKCompiler || JAVA_VERSION.isBefore("11")) { + if (!isJDKCompiler || JavaVersion.current().isBefore("11")) { assertFullyCovered(line); } else { assertEmpty(line); @@ -40,7 +41,7 @@ public void assertReturnInBodyClose(final Line line) { if (isJDKCompiler) { // https://bugs.openjdk.java.net/browse/JDK-8134759 // javac 7 and 8 up to 8u92 are affected - if (JAVA_VERSION.isBefore("1.8.0_92")) { + if (JavaVersion.current().isBefore("1.8.0_92")) { assertFullyCovered(line); } else { assertEmpty(line); @@ -61,9 +62,9 @@ public void assertHandwritten(final Line line) { public void assertEmptyClose(final Line line) { if (!isJDKCompiler) { assertPartlyCovered(line, 7, 1); - } else if (JAVA_VERSION.isBefore("8")) { + } else if (JavaVersion.current().isBefore("8")) { assertPartlyCovered(line, 6, 2); - } else if (JAVA_VERSION.isBefore("9")) { + } else if (JavaVersion.current().isBefore("9")) { assertPartlyCovered(line, 2, 2); } else { assertFullyCovered(line); @@ -74,9 +75,9 @@ public void assertThrowInBodyClose(final Line line) { // not filtered if (!isJDKCompiler) { assertNotCovered(line, 6, 0); - } else if (JAVA_VERSION.isBefore("9")) { + } else if (JavaVersion.current().isBefore("9")) { assertNotCovered(line, 4, 0); - } else if (JAVA_VERSION.isBefore("11")) { + } else if (JavaVersion.current().isBefore("11")) { assertNotCovered(line); } else { assertEmpty(line); diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/BadCycleInterfaceTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/BadCycleInterfaceTest.java index caade1eb54..1bf142bc9f 100644 --- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/BadCycleInterfaceTest.java +++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/BadCycleInterfaceTest.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.jacoco.core.test.validation.java8; +import org.jacoco.core.test.validation.JavaVersion; import org.jacoco.core.test.validation.Source.Line; import org.jacoco.core.test.validation.ValidationTestBase; import org.jacoco.core.test.validation.java8.targets.BadCycleInterfaceTarget; @@ -28,7 +29,7 @@ public BadCycleInterfaceTest() throws Exception { @Test public void method_execution_sequence() throws Exception { - if (JAVA_VERSION.isBefore("1.8.0_152")) { + if (JavaVersion.current().isBefore("1.8.0_152")) { assertLogEvents("baseclinit", "childdefaultmethod", "childclinit", "childstaticmethod"); } else { @@ -37,7 +38,7 @@ public void method_execution_sequence() throws Exception { } public void assertBaseClInit(final Line line) { - if (JAVA_VERSION.isBefore("1.8.0_152")) { + if (JavaVersion.current().isBefore("1.8.0_152")) { // Incorrect interpetation of JVMS 5.5 in JDK 8 causes a default // method to be called before the static initializer of an interface // (see JDK-8098557 and JDK-8164302): @@ -51,7 +52,7 @@ public void assertBaseClInit(final Line line) { } public void assertChildDefault(final Line line) throws Exception { - if (JAVA_VERSION.isBefore("1.8.0_152")) { + if (JavaVersion.current().isBefore("1.8.0_152")) { // Incorrect interpetation of JVMS 5.5 in JDK 8 causes a default // method to be called before the static initializer of an interface // (see JDK-8098557 and JDK-8164302): diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java index 8ad4c517c3..8c8078d4ad 100644 --- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java +++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java @@ -41,9 +41,6 @@ public abstract class ValidationTestBase { protected static final boolean isJDKCompiler = Compiler.DETECT.isJDK(); - protected static final JavaVersion JAVA_VERSION = new JavaVersion( - System.getProperty("java.version")); - private static final String[] STATUS_NAME = new String[4]; {