summaryrefslogtreecommitdiff
path: root/java/app_test.go
diff options
context:
space:
mode:
author zhidou <zhidou@google.com> 2022-02-17 02:33:12 +0000
committer zhidou <zhidou@google.com> 2022-02-17 13:40:53 +0000
commita2ce78f80dd70d4815222a8c10054e8f5d1df0b3 (patch)
tree577387c9e57b512f41b99acbd586cf2a28893120 /java/app_test.go
parent675695eb62d105d792d07d56198fbac9a65455d1 (diff)
Make "overrides" attribute of Android_app overridable
Move overrides attribute from appProperties to overridableAppProperties Bug: 220029162 Test: m Change-Id: I6f527df3173f142311734333ad37018c83d5e279
Diffstat (limited to 'java/app_test.go')
-rw-r--r--java/app_test.go64
1 files changed, 61 insertions, 3 deletions
diff --git a/java/app_test.go b/java/app_test.go
index ceeadaf8d..73cf09227 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -1966,7 +1966,7 @@ func TestOverrideAndroidApp(t *testing.T) {
// Check if the overrides field values are correctly aggregated.
mod := variant.Module().(*AndroidApp)
- android.AssertDeepEquals(t, "overrides property", expected.overrides, mod.appProperties.Overrides)
+ android.AssertDeepEquals(t, "overrides property", expected.overrides, mod.overridableAppProperties.Overrides)
// Test Overridable property: Logging_parent
logging_parent := mod.aapt.LoggingParent
@@ -1984,6 +1984,64 @@ func TestOverrideAndroidApp(t *testing.T) {
}
}
+func TestOverrideAndroidAppOverrides(t *testing.T) {
+ ctx, _ := testJava(
+ t, `
+ android_app {
+ name: "foo",
+ srcs: ["a.java"],
+ sdk_version: "current",
+ overrides: ["qux"]
+ }
+
+ android_app {
+ name: "bar",
+ srcs: ["b.java"],
+ sdk_version: "current",
+ overrides: ["foo"]
+ }
+
+ override_android_app {
+ name: "foo_override",
+ base: "foo",
+ overrides: ["bar"]
+ }
+ `)
+
+ expectedVariants := []struct {
+ name string
+ moduleName string
+ variantName string
+ overrides []string
+ }{
+ {
+ name: "foo",
+ moduleName: "foo",
+ variantName: "android_common",
+ overrides: []string{"qux"},
+ },
+ {
+ name: "bar",
+ moduleName: "bar",
+ variantName: "android_common",
+ overrides: []string{"foo"},
+ },
+ {
+ name: "foo",
+ moduleName: "foo_override",
+ variantName: "android_common_foo_override",
+ overrides: []string{"bar", "foo"},
+ },
+ }
+ for _, expected := range expectedVariants {
+ variant := ctx.ModuleForTests(expected.name, expected.variantName)
+
+ // Check if the overrides field values are correctly aggregated.
+ mod := variant.Module().(*AndroidApp)
+ android.AssertDeepEquals(t, "overrides property", expected.overrides, mod.overridableAppProperties.Overrides)
+ }
+}
+
func TestOverrideAndroidAppStem(t *testing.T) {
ctx, _ := testJava(t, `
android_app {
@@ -2164,9 +2222,9 @@ func TestOverrideAndroidTest(t *testing.T) {
// Check if the overrides field values are correctly aggregated.
mod := variant.Module().(*AndroidTest)
- if !reflect.DeepEqual(expected.overrides, mod.appProperties.Overrides) {
+ if !reflect.DeepEqual(expected.overrides, mod.overridableAppProperties.Overrides) {
t.Errorf("Incorrect overrides property value, expected: %q, got: %q",
- expected.overrides, mod.appProperties.Overrides)
+ expected.overrides, mod.overridableAppProperties.Overrides)
}
// Check if javac classpath has the correct jar file path. This checks instrumentation_for overrides.