aboutsummaryrefslogtreecommitdiff
path: root/service/processor/src/test
diff options
context:
space:
mode:
authorÉamonn McManus <emcmanus@google.com>2020-12-08 06:42:51 -0800
committerGoogle Java Core Libraries <java-core-libraries-team+copybara@google.com>2020-12-08 06:43:26 -0800
commit08f158ebfffcfd99252f73dbc53a463431c2513e (patch)
treec41f89a3bc15d5b31b4bb78dd05a6e7eeb6f8692 /service/processor/src/test
parent22ff3f94b938fbe50d825b55b0848bd7d17d0d21 (diff)
downloadauto-08f158ebfffcfd99252f73dbc53a463431c2513e.tar.gz
Rewrite `AutoServiceProcessorTest` to use more modern Compile Testing APIs.
RELNOTES=n/a PiperOrigin-RevId: 346311927
Diffstat (limited to 'service/processor/src/test')
-rw-r--r--service/processor/src/test/java/com/google/auto/service/processor/AutoServiceProcessorTest.java79
-rw-r--r--service/processor/src/test/resources/META-INF/services/test.AnotherServiceMulti1
-rw-r--r--service/processor/src/test/resources/META-INF/services/test.SomeServiceMulti1
3 files changed, 50 insertions, 31 deletions
diff --git a/service/processor/src/test/java/com/google/auto/service/processor/AutoServiceProcessorTest.java b/service/processor/src/test/java/com/google/auto/service/processor/AutoServiceProcessorTest.java
index d3e00a73..ab51065c 100644
--- a/service/processor/src/test/java/com/google/auto/service/processor/AutoServiceProcessorTest.java
+++ b/service/processor/src/test/java/com/google/auto/service/processor/AutoServiceProcessorTest.java
@@ -16,52 +16,73 @@
package com.google.auto.service.processor;
import static com.google.auto.service.processor.AutoServiceProcessor.MISSING_SERVICES_ERROR;
-import static com.google.testing.compile.JavaSourcesSubject.assertThat;
+import static com.google.testing.compile.CompilationSubject.assertThat;
+import com.google.common.io.Resources;
+import com.google.testing.compile.Compilation;
+import com.google.testing.compile.Compiler;
import com.google.testing.compile.JavaFileObjects;
+import javax.tools.StandardLocation;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-/**
- * Tests the {@link AutoServiceProcessor}.
- */
+/** Tests the {@link AutoServiceProcessor}. */
@RunWith(JUnit4.class)
public class AutoServiceProcessorTest {
@Test
public void autoService() {
- assertThat(
- JavaFileObjects.forResource("test/SomeService.java"),
- JavaFileObjects.forResource("test/SomeServiceProvider1.java"),
- JavaFileObjects.forResource("test/SomeServiceProvider2.java"),
- JavaFileObjects.forResource("test/Enclosing.java"),
- JavaFileObjects.forResource("test/AnotherService.java"),
- JavaFileObjects.forResource("test/AnotherServiceProvider.java"))
- .processedWith(new AutoServiceProcessor())
- .compilesWithoutError()
- .and().generatesFiles(
- JavaFileObjects.forResource("META-INF/services/test.SomeService"),
- JavaFileObjects.forResource("META-INF/services/test.AnotherService"));
+ Compilation compilation =
+ Compiler.javac()
+ .withProcessors(new AutoServiceProcessor())
+ .compile(
+ JavaFileObjects.forResource("test/SomeService.java"),
+ JavaFileObjects.forResource("test/SomeServiceProvider1.java"),
+ JavaFileObjects.forResource("test/SomeServiceProvider2.java"),
+ JavaFileObjects.forResource("test/Enclosing.java"),
+ JavaFileObjects.forResource("test/AnotherService.java"),
+ JavaFileObjects.forResource("test/AnotherServiceProvider.java"));
+ assertThat(compilation).succeededWithoutWarnings();
+ assertThat(compilation)
+ .generatedFile(StandardLocation.CLASS_OUTPUT, "META-INF/services/test.SomeService")
+ .hasContents(
+ Resources.asByteSource(Resources.getResource("META-INF/services/test.SomeService")));
+ assertThat(compilation)
+ .generatedFile(StandardLocation.CLASS_OUTPUT, "META-INF/services/test.AnotherService")
+ .hasContents(
+ Resources.asByteSource(Resources.getResource("META-INF/services/test.AnotherService")));
}
@Test
public void multiService() {
- assertThat(
- JavaFileObjects.forResource("test/SomeService.java"),
- JavaFileObjects.forResource("test/AnotherService.java"),
- JavaFileObjects.forResource("test/MultiServiceProvider.java"))
- .processedWith(new AutoServiceProcessor())
- .compilesWithoutError()
- .and().generatesFiles(
- JavaFileObjects.forResource("META-INF/services/test.SomeServiceMulti"),
- JavaFileObjects.forResource("META-INF/services/test.AnotherServiceMulti"));
+ Compilation compilation =
+ Compiler.javac()
+ .withProcessors(new AutoServiceProcessor())
+ .compile(
+ JavaFileObjects.forResource("test/SomeService.java"),
+ JavaFileObjects.forResource("test/AnotherService.java"),
+ JavaFileObjects.forResource("test/MultiServiceProvider.java"));
+ assertThat(compilation).succeededWithoutWarnings();
+ // We have @AutoService({SomeService.class, AnotherService.class}) class MultiServiceProvider.
+ // So we expect META-INF/services/test.SomeService with contents that name MultiServiceProvider
+ // and likewise META-INF/services/test.AnotherService.
+ assertThat(compilation)
+ .generatedFile(StandardLocation.CLASS_OUTPUT, "META-INF/services/test.SomeService")
+ .contentsAsUtf8String()
+ .isEqualTo("test.MultiServiceProvider\n");
+ assertThat(compilation)
+ .generatedFile(StandardLocation.CLASS_OUTPUT, "META-INF/services/test.AnotherService")
+ .contentsAsUtf8String()
+ .isEqualTo("test.MultiServiceProvider\n");
}
@Test
public void badMultiService() {
- assertThat(JavaFileObjects.forResource("test/NoServices.java"))
- .processedWith(new AutoServiceProcessor())
- .failsToCompile()
- .withErrorContaining(MISSING_SERVICES_ERROR);
+ Compilation compilation =
+ Compiler.javac()
+ .withProcessors(new AutoServiceProcessor())
+ .compile(JavaFileObjects.forResource("test/NoServices.java"));
+ assertThat(compilation).failed();
+ assertThat(compilation).hadErrorContaining(MISSING_SERVICES_ERROR);
}
}
diff --git a/service/processor/src/test/resources/META-INF/services/test.AnotherServiceMulti b/service/processor/src/test/resources/META-INF/services/test.AnotherServiceMulti
deleted file mode 100644
index f6ef36ac..00000000
--- a/service/processor/src/test/resources/META-INF/services/test.AnotherServiceMulti
+++ /dev/null
@@ -1 +0,0 @@
-test.MultiServiceProvider
diff --git a/service/processor/src/test/resources/META-INF/services/test.SomeServiceMulti b/service/processor/src/test/resources/META-INF/services/test.SomeServiceMulti
deleted file mode 100644
index f6ef36ac..00000000
--- a/service/processor/src/test/resources/META-INF/services/test.SomeServiceMulti
+++ /dev/null
@@ -1 +0,0 @@
-test.MultiServiceProvider