diff options
| author | 2019-04-16 17:16:58 -0700 | |
|---|---|---|
| committer | 2019-04-22 10:46:51 -0700 | |
| commit | 4eaeab4442a9b760ed9f07ca5b40088cb602def9 (patch) | |
| tree | 7df1d90e6bdeefbcf2fd7c7f919f4cd81e7b7bc8 /java/java_test.go | |
| parent | 5c87791a78fc31620b165300c7976d8cf5674f9c (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
Merged-In: Ib8e3a0ab0bd489d70ed07f626082aeae31c45e7c
(cherry picked from commit 2057f82161dec05cb23535da713ec0fae44c38d1)
Diffstat (limited to 'java/java_test.go')
| -rw-r--r-- | java/java_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go index c14880758..a5c0aa93e 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -368,6 +368,7 @@ func TestDefaults(t *testing.T) { srcs: ["a.java"], libs: ["bar"], static_libs: ["baz"], + optimize: {enabled: false}, } java_library { @@ -384,6 +385,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") @@ -402,6 +419,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) { |