aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core.test.validation.java8
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2018-08-09 19:46:04 +0200
committerEvgeny Mandrikov <Godin@users.noreply.github.com>2018-08-09 19:46:04 +0200
commit1001adda9a37f262c6162c1fec99487a5a79e7fa (patch)
treeba8e6436a44ba6d6525df8eda33f60dc14898954 /org.jacoco.core.test.validation.java8
parent592533c898da5c11d99c9fa09177d92ad50a0455 (diff)
downloadjacoco-1001adda9a37f262c6162c1fec99487a5a79e7fa.tar.gz
Simplify validation test setup (#718)
Diffstat (limited to 'org.jacoco.core.test.validation.java8')
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/AnnotationOnLocalVariableTest.java9
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/BadCycleInterfaceTest.java38
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceDefaultMethodsTest.java9
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceOnlyDefaultMethodsTest.java8
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaExpressionsTest.java11
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaInInterfaceTest.java10
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/AnnotationOnLocalVariableTarget.java2
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/BadCycleInterfaceTarget.java8
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceDefaultMethodsTarget.java11
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceOnlyDefaultMethodsTarget.java6
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaExpressionsTarget.java6
-rw-r--r--org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaInInterfaceTarget.java2
12 files changed, 45 insertions, 75 deletions
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/AnnotationOnLocalVariableTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/AnnotationOnLocalVariableTest.java
index 0b9a3c1d..e1f88bf8 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/AnnotationOnLocalVariableTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/AnnotationOnLocalVariableTest.java
@@ -11,10 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation.java8;
-import org.jacoco.core.analysis.ICounter;
import org.jacoco.core.test.validation.ValidationTestBase;
import org.jacoco.core.test.validation.java8.targets.AnnotationOnLocalVariableTarget;
-import org.junit.Test;
/**
* Test of ASM bug
@@ -26,11 +24,4 @@ public class AnnotationOnLocalVariableTest extends ValidationTestBase {
super(AnnotationOnLocalVariableTarget.class);
}
- @Test
- public void testCoverageResult() {
-
- assertLine("var", ICounter.FULLY_COVERED);
-
- }
-
}
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 b9f0a469..b1591b34 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
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.jacoco.core.test.validation.java8;
-import org.jacoco.core.analysis.ICounter;
+import org.jacoco.core.test.validation.Source.Line;
import org.jacoco.core.test.validation.ValidationTestBase;
import org.jacoco.core.test.validation.java8.targets.BadCycleInterfaceTarget;
import org.junit.Test;
@@ -26,25 +26,41 @@ public class BadCycleInterfaceTest extends ValidationTestBase {
}
@Test
- public void test() throws Exception {
+ public void method_execution_sequence() throws Exception {
+ if (JAVA_VERSION.isBefore("1.8.0_152")) {
+ assertLogEvents("baseclinit", "childdefaultmethod", "childclinit",
+ "childstaticmethod");
+ } else {
+ assertLogEvents("childclinit", "childstaticmethod");
+ }
+ }
+
+ public void assertBaseClInit(final Line line) {
if (JAVA_VERSION.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):
- assertLine("baseclinit", ICounter.FULLY_COVERED);
- assertLine("childdefault", ICounter.FULLY_COVERED);
+ assertFullyCovered(line);
- assertLogEvents("baseclinit", "childdefaultmethod", "childclinit",
- "childstaticmethod");
} else {
// This shouldn't happen with JDK 9 (see also JDK-8043275)
// and starting with JDK 8u152 (see JDK-8167607):
- assertLine("baseclinit", ICounter.EMPTY);
- assertLine("childdefault", ICounter.NOT_COVERED);
- assertLogEvents("childclinit", "childstaticmethod");
+ assertEmpty(line);
+ }
+ }
+
+ public void assertChildDefault(final Line line) throws Exception {
+ if (JAVA_VERSION.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):
+ assertFullyCovered(line);
+
+ } else {
+ // This shouldn't happen with JDK 9 (see also JDK-8043275)
+ // and starting with JDK 8u152 (see JDK-8167607):
+ assertNotCovered(line);
}
- assertLine("childclinit", ICounter.FULLY_COVERED);
- assertLine("childstatic", ICounter.FULLY_COVERED);
}
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceDefaultMethodsTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceDefaultMethodsTest.java
index 4701e27f..2317d7c5 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceDefaultMethodsTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceDefaultMethodsTest.java
@@ -11,10 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation.java8;
-import org.jacoco.core.analysis.ICounter;
import org.jacoco.core.test.validation.ValidationTestBase;
import org.jacoco.core.test.validation.java8.targets.InterfaceDefaultMethodsTarget;
-import org.junit.Test;
/**
* Tests of static initializer and default methods in interfaces.
@@ -25,11 +23,4 @@ public class InterfaceDefaultMethodsTest extends ValidationTestBase {
super(InterfaceDefaultMethodsTarget.class);
}
- @Test
- public void testCoverageResult() {
- assertLine("clinit", ICounter.FULLY_COVERED);
- assertLine("m1", ICounter.FULLY_COVERED);
- assertLine("m2", ICounter.NOT_COVERED);
- }
-
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceOnlyDefaultMethodsTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceOnlyDefaultMethodsTest.java
index e0ffc723..07fc9f51 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceOnlyDefaultMethodsTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/InterfaceOnlyDefaultMethodsTest.java
@@ -11,10 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation.java8;
-import org.jacoco.core.analysis.ICounter;
import org.jacoco.core.test.validation.ValidationTestBase;
import org.jacoco.core.test.validation.java8.targets.InterfaceOnlyDefaultMethodsTarget;
-import org.junit.Test;
/**
* Tests of default methods in interfaces.
@@ -25,10 +23,4 @@ public class InterfaceOnlyDefaultMethodsTest extends ValidationTestBase {
super(InterfaceOnlyDefaultMethodsTarget.class);
}
- @Test
- public void testCoverageResult() {
- assertLine("m1", ICounter.FULLY_COVERED);
- assertLine("m2", ICounter.NOT_COVERED);
- }
-
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaExpressionsTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaExpressionsTest.java
index 1d97a3dc..bc137c91 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaExpressionsTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaExpressionsTest.java
@@ -11,10 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation.java8;
-import org.jacoco.core.analysis.ICounter;
import org.jacoco.core.test.validation.ValidationTestBase;
import org.jacoco.core.test.validation.java8.targets.LambdaExpressionsTarget;
-import org.junit.Test;
/**
* Tests for different lambda expressions.
@@ -25,13 +23,4 @@ public class LambdaExpressionsTest extends ValidationTestBase {
super(LambdaExpressionsTarget.class);
}
- @Test
- public void testCoverageResult() {
-
- // Coverage of lambda bodies
- assertLine("executedlambdabody", ICounter.FULLY_COVERED);
- assertLine("notexecutedlambdabody", ICounter.NOT_COVERED);
-
- }
-
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaInInterfaceTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaInInterfaceTest.java
index 4d4d184f..7888d610 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaInInterfaceTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/LambdaInInterfaceTest.java
@@ -11,10 +11,8 @@
*******************************************************************************/
package org.jacoco.core.test.validation.java8;
-import org.jacoco.core.analysis.ICounter;
import org.jacoco.core.test.validation.ValidationTestBase;
import org.jacoco.core.test.validation.java8.targets.LambdaInInterfaceTarget;
-import org.junit.Test;
/**
* Tests a constant with a lambda value in an interface.
@@ -30,12 +28,4 @@ public class LambdaInInterfaceTest extends ValidationTestBase {
((Runnable) targetClass.getField("RUN").get(null)).run();
}
- @Test
- public void testCoverageResult() {
-
- // Coverage of lambda body
- assertLine("lambdabody", ICounter.FULLY_COVERED);
-
- }
-
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/AnnotationOnLocalVariableTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/AnnotationOnLocalVariableTarget.java
index b2d6acbf..315d6c90 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/AnnotationOnLocalVariableTarget.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/AnnotationOnLocalVariableTarget.java
@@ -34,7 +34,7 @@ public class AnnotationOnLocalVariableTarget {
public static void main(String[] args) {
@NonNull
- Object o = legacy(); // $line-var$
+ Object o = legacy(); // assertFullyCovered()
}
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/BadCycleInterfaceTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/BadCycleInterfaceTarget.java
index bac69f81..1f1215ec 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/BadCycleInterfaceTarget.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/BadCycleInterfaceTarget.java
@@ -18,7 +18,7 @@ public class BadCycleInterfaceTarget {
public interface Base {
static final Object BASE_CONST = new Child() {
{
- Stubs.logEvent("baseclinit"); // $line-baseclinit$
+ Stubs.logEvent("baseclinit"); // assertBaseClInit()
}
}.childDefaultMethod();
@@ -29,17 +29,17 @@ public class BadCycleInterfaceTarget {
public interface Child extends Base {
static final Object CHILD_CONST = new Object() {
{
- Stubs.logEvent("childclinit"); // $line-childclinit$
+ Stubs.logEvent("childclinit"); // assertFullyCovered()
}
};
default Object childDefaultMethod() {
- Stubs.logEvent("childdefaultmethod"); // $line-childdefault$
+ Stubs.logEvent("childdefaultmethod"); // assertChildDefault()
return null;
}
static void childStaticMethod() {
- Stubs.logEvent("childstaticmethod"); // $line-childstatic$
+ Stubs.logEvent("childstaticmethod"); // assertFullyCovered()
}
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceDefaultMethodsTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceDefaultMethodsTarget.java
index 2c8a13db..b7390f73 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceDefaultMethodsTarget.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceDefaultMethodsTarget.java
@@ -14,18 +14,19 @@ package org.jacoco.core.test.validation.java8.targets;
import static org.jacoco.core.test.validation.targets.Stubs.i1;
/**
- * This test target is an interface with a class initializer and default methods.
+ * This test target is an interface with a class initializer and default
+ * methods.
*/
public interface InterfaceDefaultMethodsTarget {
- public static final int CONST = i1(); // $line-clinit$
+ public static final int CONST = i1(); // assertFullyCovered()
default void m1() {
- return; // $line-m1$
+ return; // assertFullyCovered()
}
default void m2() {
- return; // $line-m2$
+ return; // assertNotCovered()
}
public class Impl implements InterfaceDefaultMethodsTarget {
@@ -34,7 +35,7 @@ public interface InterfaceDefaultMethodsTarget {
m1();
}
}
-
+
public static void main(String[] args) {
new Impl();
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceOnlyDefaultMethodsTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceOnlyDefaultMethodsTarget.java
index dd96e0ad..6ae4c5cb 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceOnlyDefaultMethodsTarget.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/InterfaceOnlyDefaultMethodsTarget.java
@@ -16,14 +16,14 @@ package org.jacoco.core.test.validation.java8.targets;
*/
public interface InterfaceOnlyDefaultMethodsTarget {
- // no <clinit>, only default methods:
+ /* no <clinit>, only default methods: */
default void m1() {
- return; // $line-m1$
+ return; // assertFullyCovered()
}
default void m2() {
- return; // $line-m2$
+ return; // assertNotCovered()
}
public class Impl implements InterfaceOnlyDefaultMethodsTarget {
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaExpressionsTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaExpressionsTarget.java
index a8c7bd8b..5a26d0b0 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaExpressionsTarget.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaExpressionsTarget.java
@@ -23,11 +23,11 @@ public class LambdaExpressionsTarget {
public static void main(String[] args) {
exec(() -> {
- nop(); // $line-executedlambdabody$
+ nop(); // assertFullyCovered()
});
-
+
noexec(() -> {
- nop(); // $line-notexecutedlambdabody$
+ nop(); // assertNotCovered()
});
}
diff --git a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaInInterfaceTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaInInterfaceTarget.java
index 4a9db74b..5759ca5f 100644
--- a/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaInInterfaceTarget.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/java8/targets/LambdaInInterfaceTarget.java
@@ -19,7 +19,7 @@ import static org.jacoco.core.test.validation.targets.Stubs.nop;
public interface LambdaInInterfaceTarget {
public static final Runnable RUN = () -> {
- nop(); // $line-lambdabody$
+ nop(); // assertFullyCovered()
};
}