Merge "Make "overrides" attribute of Android_app overridable"

This commit is contained in:
Treehugger Robot
2022-05-17 06:38:19 +00:00
committed by Gerrit Code Review
4 changed files with 118 additions and 14 deletions

View File

@@ -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.