diff options
| author | 2022-02-17 02:33:12 +0000 | |
|---|---|---|
| committer | 2022-02-17 13:40:53 +0000 | |
| commit | a2ce78f80dd70d4815222a8c10054e8f5d1df0b3 (patch) | |
| tree | 577387c9e57b512f41b99acbd586cf2a28893120 /java/app_test.go | |
| parent | 675695eb62d105d792d07d56198fbac9a65455d1 (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.go | 64 |
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. |