summaryrefslogtreecommitdiff
path: root/java/java_test.go
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2021-06-15 00:32:41 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-06-15 00:32:41 +0000
commit768692bc698ef6e1be4acf1539651a751182d7f7 (patch)
tree5898b78aa4cee0c56a8b492b767c1b99a681ab1f /java/java_test.go
parent881baf55738f1a0d0c6fe66a4cdc1182a9dcf859 (diff)
parent75fffb14b8c74a6495d481f03586db7b505e737f (diff)
Merge "Add a build flag to always enable errorprone per-target"
Diffstat (limited to 'java/java_test.go')
-rw-r--r--java/java_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go
index bd373c177..78d9ab4c7 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -1392,3 +1392,31 @@ func TestDefaultInstallable(t *testing.T) {
assertDeepEquals(t, "Default installable value should be true.", proptools.BoolPtr(true),
module.properties.Installable)
}
+
+func TestErrorproneEnabled(t *testing.T) {
+ ctx, _ := testJava(t, `
+ java_library {
+ name: "foo",
+ srcs: ["a.java"],
+ errorprone: {
+ enabled: true,
+ },
+ }
+ `)
+
+ javac := ctx.ModuleForTests("foo", "android_common").Description("javac")
+
+ // Test that the errorprone plugins are passed to javac
+ expectedSubstring := "-Xplugin:ErrorProne"
+ if !strings.Contains(javac.Args["javacFlags"], expectedSubstring) {
+ t.Errorf("expected javacFlags to conain %q, got %q", expectedSubstring, javac.Args["javacFlags"])
+ }
+
+ // Modules with errorprone { enabled: true } will include errorprone checks
+ // in the main javac build rule. Only when RUN_ERROR_PRONE is true will
+ // the explicit errorprone build rule be created.
+ errorprone := ctx.ModuleForTests("foo", "android_common").MaybeDescription("errorprone")
+ if errorprone.RuleParams.Description != "" {
+ t.Errorf("expected errorprone build rule to not exist, but it did")
+ }
+}