aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcushon <cushon@google.com>2018-01-31 12:10:15 -0800
committerRon Shapiro <shapiro.rd@gmail.com>2018-01-31 18:22:53 -0500
commit53d1d2add95db44e034b1a4fc7d47fc214957066 (patch)
treef87f467a0a63c9375e82283cc9ba14c9ef190291
parent48437ca80dfea8fdba0f3f9ae8fd2d1b992f2a4b (diff)
downloadauto-53d1d2add95db44e034b1a4fc7d47fc214957066.tar.gz
Fix handling of @Generated in tests after 715b8eb505649a4acaaa5889d4f4b51a91dd8a91, 0383c1cf7472d7444463353aa2ac956c9471130a
RELNOTES=N/A ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=184027387
-rw-r--r--value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java8
-rw-r--r--value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java2
-rw-r--r--value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java11
-rw-r--r--value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java4
-rw-r--r--value/src/test/java/com/google/auto/value/processor/CompilationTest.java7
-rw-r--r--value/src/test/java/com/google/auto/value/processor/ExtensionTest.java5
-rw-r--r--value/src/test/java/com/google/auto/value/processor/GeneratedImport.java (renamed from value/src/test/java/com/google/auto/value/processor/GeneratedImportRule.java)24
-rw-r--r--value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java5
8 files changed, 19 insertions, 47 deletions
diff --git a/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java b/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java
index 970cc597..2ce9de8d 100644
--- a/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java
+++ b/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java
@@ -20,10 +20,9 @@ import static com.google.testing.compile.Compiler.javac;
import com.google.auto.value.processor.AutoValueProcessor;
import com.google.testing.compile.Compilation;
-import com.google.testing.compile.CompilationRule;
import com.google.testing.compile.JavaFileObjects;
+import javax.lang.model.SourceVersion;
import javax.tools.JavaFileObject;
-import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -44,8 +43,6 @@ public class GwtCompilationTest {
"}"
);
- @Rule public final CompilationRule compilationRule = new CompilationRule();
-
/**
* Test where the serialized properties don't include generics, so no {@code @SuppressWarnings}
* annotation is needed. We explicitly check that one is not included anyway, because Eclipse for
@@ -342,7 +339,6 @@ public class GwtCompilationTest {
}
private boolean isJavaxAnnotationProcessingGeneratedAvailable() {
- return compilationRule.getElements().getTypeElement("javax.annotation.processing.Generated")
- != null;
+ return SourceVersion.latestSupported().compareTo(SourceVersion.RELEASE_8) > 0;
}
}
diff --git a/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java b/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java
index f0b3f9ff..1a594623 100644
--- a/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java
+++ b/value/src/main/java/com/google/auto/value/processor/AutoOneOfProcessor.java
@@ -250,7 +250,7 @@ public class AutoOneOfProcessor extends AutoValueOrOneOfProcessor {
ImmutableSet<ExecutableElement> propertyMethods,
ExecutableElement kindGetter) {
vars.generated =
- generatedAnnotation(elementUtils())
+ generatedAnnotation(elementUtils(), processingEnv.getSourceVersion())
.map(annotation -> TypeEncoder.encode(annotation.asType()))
.orElse("");
Map<ExecutableElement, ImmutableList<AnnotationMirror>> annotatedPropertyMethods =
diff --git a/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java b/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java
index e155a3c1..7698d015 100644
--- a/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/AutoAnnotationCompilationTest.java
@@ -33,7 +33,6 @@ import javax.tools.JavaCompiler;
import javax.tools.JavaFileManager;
import javax.tools.JavaFileObject;
import javax.tools.ToolProvider;
-import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -44,8 +43,6 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class AutoAnnotationCompilationTest {
- @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule();
-
@Test
public void testSimple() {
JavaFileObject myAnnotationJavaFile = JavaFileObjects.forSourceLines(
@@ -89,7 +86,7 @@ public class AutoAnnotationCompilationTest {
"",
"import com.example.annotations.MyAnnotation;",
"import com.example.enums.MyEnum;",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")",
"final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {",
@@ -166,7 +163,7 @@ public class AutoAnnotationCompilationTest {
JavaFileObject expectedOutput =
JavaFileObjects.forSourceLines(
"AutoAnnotation_AnnotationFactory_newMyAnnotation",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")",
"final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {",
@@ -242,7 +239,7 @@ public class AutoAnnotationCompilationTest {
"",
"import com.example.annotations.MyAnnotation;",
"import java.util.Arrays;",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")",
"final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {",
@@ -346,7 +343,7 @@ public class AutoAnnotationCompilationTest {
"import java.util.Collection;",
"import java.util.List;",
"import java.util.Set;",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"" + AutoAnnotationProcessor.class.getName() + "\")",
"final class AutoAnnotation_AnnotationFactory_newMyAnnotation implements MyAnnotation {",
diff --git a/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java b/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java
index 95c95a00..5fc1ce6f 100644
--- a/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/AutoOneOfCompilationTest.java
@@ -34,8 +34,6 @@ import org.junit.runners.JUnit4;
public class AutoOneOfCompilationTest {
@Rule
public final Expect expect = Expect.create();
- @Rule
- public final GeneratedImportRule generatedImportRule = new GeneratedImportRule();
@Test
public void success() {
@@ -67,7 +65,7 @@ public class AutoOneOfCompilationTest {
"foo.bar.AutoOneOf_TaskResult",
"package foo.bar;",
"",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"com.google.auto.value.processor.AutoOneOfProcessor\")",
"final class AutoOneOf_TaskResult {",
diff --git a/value/src/test/java/com/google/auto/value/processor/CompilationTest.java b/value/src/test/java/com/google/auto/value/processor/CompilationTest.java
index e29f1439..c30d8845 100644
--- a/value/src/test/java/com/google/auto/value/processor/CompilationTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/CompilationTest.java
@@ -50,7 +50,6 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class CompilationTest {
@Rule public final Expect expect = Expect.create();
- @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule();
@Test
public void simpleSuccess() {
@@ -77,7 +76,7 @@ public class CompilationTest {
"foo.bar.AutoValue_Baz",
"package foo.bar;",
"",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"" + AutoValueProcessor.class.getName() + "\")",
"final class AutoValue_Baz extends Baz {",
@@ -156,7 +155,7 @@ public class CompilationTest {
"package foo.bar;",
"",
"import java.util.Arrays;",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"" + AutoValueProcessor.class.getName() + "\")",
"final class AutoValue_Baz extends Baz {",
@@ -840,7 +839,7 @@ public class CompilationTest {
"import java.util.Arrays;",
"import java.util.List;",
sorted(
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"import javax.annotation.Nullable;"),
"",
"@Generated(\"" + AutoValueProcessor.class.getName() + "\")",
diff --git a/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java b/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java
index c0aac69e..5d473489 100644
--- a/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/ExtensionTest.java
@@ -49,7 +49,6 @@ import javax.lang.model.util.Elements;
import javax.tools.Diagnostic;
import javax.tools.JavaFileObject;
import javax.tools.StandardLocation;
-import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -57,8 +56,6 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class ExtensionTest {
- @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule();
-
@Test
public void testExtensionCompilation() throws Exception {
@@ -112,7 +109,7 @@ public class ExtensionTest {
"foo.bar.$AutoValue_Baz",
"package foo.bar;",
"",
- generatedImportRule.importGeneratedAnnotationType(),
+ GeneratedImport.importGeneratedAnnotationType(),
"",
"@Generated(\"com.google.auto.value.processor.AutoValueProcessor\")",
" abstract class $AutoValue_Baz extends Baz {",
diff --git a/value/src/test/java/com/google/auto/value/processor/GeneratedImportRule.java b/value/src/test/java/com/google/auto/value/processor/GeneratedImport.java
index 0502ae10..a445b018 100644
--- a/value/src/test/java/com/google/auto/value/processor/GeneratedImportRule.java
+++ b/value/src/test/java/com/google/auto/value/processor/GeneratedImport.java
@@ -15,27 +15,20 @@
*/
package com.google.auto.value.processor;
-import com.google.testing.compile.CompilationRule;
-import javax.lang.model.util.Elements;
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
+import javax.lang.model.SourceVersion;
/**
- * Test rule that allows compile-testing tests to know which {@code @Generated} annotation is
+ * Utility methods for compile-testing tests to know which {@code @Generated} annotation is
* available.
*/
-final class GeneratedImportRule implements TestRule {
-
- private final CompilationRule compilationRule = new CompilationRule();
+final class GeneratedImport {
/**
* Returns the qualified name of the {@code @Generated} annotation available during a compilation
* task.
*/
- String generatedAnnotationType() {
- Elements elements = compilationRule.getElements();
- return elements.getTypeElement("javax.annotation.processing.Generated") != null
+ static String generatedAnnotationType() {
+ return SourceVersion.latestSupported().compareTo(SourceVersion.RELEASE_8) > 0
? "javax.annotation.processing.Generated"
: "javax.annotation.Generated";
}
@@ -44,12 +37,7 @@ final class GeneratedImportRule implements TestRule {
* Returns an {@code import} statement that imports the {@code @Generated} annotation {@linkplain
* #generatedAnnotationType() available during a compilation task}.
*/
- String importGeneratedAnnotationType() {
+ static String importGeneratedAnnotationType() {
return "import " + generatedAnnotationType() + ";";
}
-
- @Override
- public Statement apply(Statement base, Description description) {
- return compilationRule.apply(base, description);
- }
}
diff --git a/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java b/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java
index 43fdf274..ed428a17 100644
--- a/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/PropertyAnnotationsTest.java
@@ -24,7 +24,6 @@ import com.google.testing.compile.JavaFileObjects;
import java.lang.annotation.Inherited;
import java.util.List;
import javax.tools.JavaFileObject;
-import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -97,8 +96,6 @@ public class PropertyAnnotationsTest {
@Inherited
public @interface InheritedAnnotation {}
- @Rule public final GeneratedImportRule generatedImportRule = new GeneratedImportRule();
-
private JavaFileObject sourceCode(List<String> imports, List<String> annotations) {
ImmutableList<String> list = ImmutableList.<String>builder()
.add(
@@ -131,7 +128,7 @@ public class PropertyAnnotationsTest {
String nullable = annotations.contains("@Nullable") ? "@Nullable " : "";
ImmutableSortedSet<String> allImports =
ImmutableSortedSet.<String>naturalOrder()
- .add(generatedImportRule.importGeneratedAnnotationType())
+ .add(GeneratedImport.importGeneratedAnnotationType())
.addAll(imports)
.build();
ImmutableList<String> list = ImmutableList.<String>builder()