aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation
diff options
context:
space:
mode:
authorEvgeny Mandrikov <Godin@users.noreply.github.com>2018-08-14 22:47:58 +0200
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2018-08-14 22:47:58 +0200
commit1283826e5c230f833036266c24b7921ae5f51142 (patch)
tree450132785a8523a41d09de702c1e7d9999a38d05 /org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation
parent29a770dd29cd5ed4a7ad7896c33eda670b2750f2 (diff)
downloadjacoco-1283826e5c230f833036266c24b7921ae5f51142.tar.gz
Add filter for classes and methods with annotation `Generated` (#731)
Diffstat (limited to 'org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation')
-rw-r--r--org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/AnnotationGeneratedTest.java23
-rw-r--r--org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/targets/AnnotationGeneratedTarget.java92
2 files changed, 115 insertions, 0 deletions
diff --git a/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/AnnotationGeneratedTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/AnnotationGeneratedTest.java
new file mode 100644
index 00000000..3532d9e6
--- /dev/null
+++ b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/AnnotationGeneratedTest.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.core.test.validation.java5;
+
+import org.jacoco.core.test.validation.ValidationTestBase;
+import org.jacoco.core.test.validation.java5.targets.AnnotationGeneratedTarget;
+
+public class AnnotationGeneratedTest extends ValidationTestBase {
+
+ public AnnotationGeneratedTest() {
+ super(AnnotationGeneratedTarget.class);
+ }
+
+}
diff --git a/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/targets/AnnotationGeneratedTarget.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/targets/AnnotationGeneratedTarget.java
new file mode 100644
index 00000000..bfff621c
--- /dev/null
+++ b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/java5/targets/AnnotationGeneratedTarget.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.core.test.validation.java5.targets;
+
+import static org.jacoco.core.test.validation.targets.Stubs.nop;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+public class AnnotationGeneratedTarget {
+
+ private static class RetentionPolicyRuntime {
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @interface Generated {
+ }
+
+ @RetentionPolicyRuntime.Generated
+ static void annotatedMethod() {
+ nop(); // assertEmpty()
+ }
+
+ @RetentionPolicyRuntime.Generated
+ static class AnnotatedClass {
+ AnnotatedClass() {
+ nop(); // assertEmpty()
+ }
+ }
+
+ }
+
+ private static class RetentionPolicyClass {
+
+ @Retention(RetentionPolicy.CLASS)
+ @interface Generated {
+ }
+
+ @RetentionPolicyClass.Generated
+ static void annotatedMethod() {
+ nop(); // assertEmpty()
+ }
+
+ @RetentionPolicyClass.Generated
+ static class AnnotatedClass {
+ AnnotatedClass() {
+ nop(); // assertEmpty()
+ }
+ }
+
+ }
+
+ private static class RetentionPolicySource {
+
+ @Retention(RetentionPolicy.SOURCE)
+ @interface Generated {
+ }
+
+ @RetentionPolicySource.Generated
+ static void annotatedMethod() {
+ nop(); // assertFullyCovered()
+ }
+
+ @RetentionPolicySource.Generated
+ static class AnnotatedClass {
+ AnnotatedClass() {
+ nop(); // assertFullyCovered()
+ }
+ }
+
+ }
+
+ public static void main(String[] args) {
+ RetentionPolicyRuntime.annotatedMethod();
+ new RetentionPolicyRuntime.AnnotatedClass();
+
+ RetentionPolicyClass.annotatedMethod();
+ new RetentionPolicyClass.AnnotatedClass();
+
+ RetentionPolicySource.annotatedMethod();
+ new RetentionPolicySource.AnnotatedClass();
+ }
+
+}