summaryrefslogtreecommitdiff
path: root/java/java_test.go
diff options
context:
space:
mode:
authorSasha Smundak <asmundak@google.com>2019-04-16 17:16:58 -0700
committerSasha Smundak <asmundak@google.com>2019-04-17 17:59:09 -0700
commit2057f82161dec05cb23535da713ec0fae44c38d1 (patch)
treebd8b125add99ab3e9adf6f88fd372cc086825442 /java/java_test.go
parent79c7c26d8a1987b4c60256d05e2cc52588ccddc0 (diff)
Fix handling optimize.enabled from java_defaults
Some module types (`android_test`, etc.) set `optimize.enabled` by default. If such module happens to have `defaults` attribute which clears `optimize.enabled`, the latter value is ignored. Fixes: 129858282 Test: unit tests in java_test.go, `atest CtsExtendedMockingTestCases` succeeds with aog/936802 reverted (that is, with cts/test/mocking converted to Android.bp) Change-Id: Ib8e3a0ab0bd489d70ed07f626082aeae31c45e7c
Diffstat (limited to 'java/java_test.go')
-rw-r--r--java/java_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go
index 0a1c17c1c..9438ce297 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -377,6 +377,7 @@ func TestDefaults(t *testing.T) {
srcs: ["a.java"],
libs: ["bar"],
static_libs: ["baz"],
+ optimize: {enabled: false},
}
java_library {
@@ -393,6 +394,22 @@ func TestDefaults(t *testing.T) {
name: "baz",
srcs: ["c.java"],
}
+
+ android_test {
+ name: "atestOptimize",
+ defaults: ["defaults"],
+ optimize: {enabled: true},
+ }
+
+ android_test {
+ name: "atestNoOptimize",
+ defaults: ["defaults"],
+ }
+
+ android_test {
+ name: "atestDefault",
+ srcs: ["a.java"],
+ }
`)
javac := ctx.ModuleForTests("foo", "android_common").Rule("javac")
@@ -411,6 +428,21 @@ func TestDefaults(t *testing.T) {
if len(combineJar.Inputs) != 2 || combineJar.Inputs[1].String() != baz {
t.Errorf("foo combineJar inputs %v does not contain %q", combineJar.Inputs, baz)
}
+
+ atestOptimize := ctx.ModuleForTests("atestOptimize", "android_common").MaybeRule("r8")
+ if atestOptimize.Output == nil {
+ t.Errorf("atestOptimize should optimize APK")
+ }
+
+ atestNoOptimize := ctx.ModuleForTests("atestNoOptimize", "android_common").MaybeRule("d8")
+ if atestNoOptimize.Output == nil {
+ t.Errorf("atestNoOptimize should not optimize APK")
+ }
+
+ atestDefault := ctx.ModuleForTests("atestDefault", "android_common").MaybeRule("r8")
+ if atestDefault.Output == nil {
+ t.Errorf("atestDefault should optimize APK")
+ }
}
func TestResources(t *testing.T) {