Revert "Add protected_properties support in defaults modules"
This reverts commit 799962789a
.
Test: m nothing
Change-Id: Ia43c2ee216dc42ae5cf3e4d138aa9d0e05a9ee60
This commit is contained in:
@@ -19,14 +19,7 @@ import (
|
||||
)
|
||||
|
||||
type defaultsTestProperties struct {
|
||||
Foo []string
|
||||
Bar []string
|
||||
Nested struct {
|
||||
Fizz *bool
|
||||
}
|
||||
Other struct {
|
||||
Buzz *string
|
||||
}
|
||||
Foo []string
|
||||
}
|
||||
|
||||
type defaultsTestModule struct {
|
||||
@@ -137,167 +130,3 @@ func TestDefaultsAllowMissingDependencies(t *testing.T) {
|
||||
// TODO: missing transitive defaults is currently not handled
|
||||
_ = missingTransitiveDefaults
|
||||
}
|
||||
|
||||
func TestProtectedProperties_ProtectedPropertyNotSet(t *testing.T) {
|
||||
bp := `
|
||||
defaults {
|
||||
name: "transitive",
|
||||
protected_properties: ["foo"],
|
||||
}
|
||||
`
|
||||
|
||||
GroupFixturePreparers(
|
||||
prepareForDefaultsTest,
|
||||
FixtureWithRootAndroidBp(bp),
|
||||
).ExtendWithErrorHandler(FixtureExpectsAtLeastOneErrorMatchingPattern(
|
||||
"module \"transitive\": foo: is not set; protected properties must be explicitly set")).
|
||||
RunTest(t)
|
||||
}
|
||||
|
||||
func TestProtectedProperties_ProtectedPropertyNotLeaf(t *testing.T) {
|
||||
bp := `
|
||||
defaults {
|
||||
name: "transitive",
|
||||
protected_properties: ["nested"],
|
||||
nested: {
|
||||
fizz: true,
|
||||
},
|
||||
}
|
||||
`
|
||||
|
||||
GroupFixturePreparers(
|
||||
prepareForDefaultsTest,
|
||||
FixtureWithRootAndroidBp(bp),
|
||||
).ExtendWithErrorHandler(FixtureExpectsAtLeastOneErrorMatchingPattern(
|
||||
`\Qmodule "transitive": nested: property is not supported by this module type "defaults"\E`)).
|
||||
RunTest(t)
|
||||
}
|
||||
|
||||
// TestProtectedProperties_ApplyDefaults makes sure that the protected_properties property has
|
||||
// defaults applied.
|
||||
func TestProtectedProperties_HasDefaultsApplied(t *testing.T) {
|
||||
|
||||
bp := `
|
||||
defaults {
|
||||
name: "transitive",
|
||||
protected_properties: ["foo"],
|
||||
foo: ["transitive"],
|
||||
}
|
||||
|
||||
defaults {
|
||||
name: "defaults",
|
||||
defaults: ["transitive"],
|
||||
protected_properties: ["bar"],
|
||||
bar: ["defaults"],
|
||||
}
|
||||
`
|
||||
|
||||
result := GroupFixturePreparers(
|
||||
prepareForDefaultsTest,
|
||||
FixtureWithRootAndroidBp(bp),
|
||||
).RunTest(t)
|
||||
|
||||
defaults := result.Module("defaults", "").(DefaultsModule)
|
||||
AssertDeepEquals(t, "defaults protected properties", []string{"foo", "bar"}, defaults.protectedProperties())
|
||||
}
|
||||
|
||||
// TestProtectedProperties_ProtectAllProperties makes sure that protected_properties: ["*"] protects
|
||||
// all properties.
|
||||
func TestProtectedProperties_ProtectAllProperties(t *testing.T) {
|
||||
|
||||
bp := `
|
||||
defaults {
|
||||
name: "transitive",
|
||||
protected_properties: ["other.buzz"],
|
||||
other: {
|
||||
buzz: "transitive",
|
||||
},
|
||||
}
|
||||
|
||||
defaults {
|
||||
name: "defaults",
|
||||
defaults: ["transitive"],
|
||||
visibility: ["//visibility:private"],
|
||||
protected_properties: ["*"],
|
||||
foo: ["other"],
|
||||
bar: ["defaults"],
|
||||
nested: {
|
||||
fizz: true,
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
result := GroupFixturePreparers(
|
||||
prepareForDefaultsTest,
|
||||
FixtureWithRootAndroidBp(bp),
|
||||
).RunTest(t)
|
||||
|
||||
defaults := result.Module("defaults", "").(DefaultsModule)
|
||||
AssertDeepEquals(t, "defaults protected properties", []string{"other.buzz", "bar", "foo", "nested.fizz"},
|
||||
defaults.protectedProperties())
|
||||
}
|
||||
|
||||
func TestProtectedProperties_DetectedOverride(t *testing.T) {
|
||||
bp := `
|
||||
defaults {
|
||||
name: "defaults",
|
||||
protected_properties: ["foo", "nested.fizz"],
|
||||
foo: ["defaults"],
|
||||
nested: {
|
||||
fizz: true,
|
||||
},
|
||||
}
|
||||
|
||||
test {
|
||||
name: "foo",
|
||||
defaults: ["defaults"],
|
||||
foo: ["module"],
|
||||
nested: {
|
||||
fizz: false,
|
||||
},
|
||||
}
|
||||
`
|
||||
|
||||
GroupFixturePreparers(
|
||||
prepareForDefaultsTest,
|
||||
FixtureWithRootAndroidBp(bp),
|
||||
).ExtendWithErrorHandler(FixtureExpectsAllErrorsToMatchAPattern(
|
||||
[]string{
|
||||
`\Qmodule "foo": attempts to append ["module"] to protected property "foo"'s value of ["defaults"] defined in module "defaults"\E`,
|
||||
`\Qmodule "foo": attempts to override protected property "nested.fizz" defined in module "defaults" with a different value (override true with false) so removing the property may necessitate other changes.\E`,
|
||||
})).RunTest(t)
|
||||
}
|
||||
|
||||
func TestProtectedProperties_DefaultsConflict(t *testing.T) {
|
||||
bp := `
|
||||
defaults {
|
||||
name: "defaults1",
|
||||
protected_properties: ["other.buzz"],
|
||||
other: {
|
||||
buzz: "value",
|
||||
},
|
||||
}
|
||||
|
||||
defaults {
|
||||
name: "defaults2",
|
||||
protected_properties: ["other.buzz"],
|
||||
other: {
|
||||
buzz: "another",
|
||||
},
|
||||
}
|
||||
|
||||
test {
|
||||
name: "foo",
|
||||
defaults: ["defaults1", "defaults2"],
|
||||
}
|
||||
`
|
||||
|
||||
GroupFixturePreparers(
|
||||
prepareForDefaultsTest,
|
||||
FixtureWithRootAndroidBp(bp),
|
||||
).ExtendWithErrorHandler(FixtureExpectsAtLeastOneErrorMatchingPattern(
|
||||
`\Qmodule "foo": has conflicting default values for protected property "other.buzz":
|
||||
defaults module "defaults1" provides value "value"
|
||||
defaults module "defaults2" provides value "another"\E`,
|
||||
)).RunTest(t)
|
||||
}
|
||||
|
Reference in New Issue
Block a user