Convert android/defaults_test.go to test fixtures
Bug: 182885307 Test: m nothing Change-Id: Iaf74bb9bece4eed717efa813b9b8ba51ecce5135
This commit is contained in:
@@ -15,10 +15,7 @@
|
|||||||
package android
|
package android
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"reflect"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/google/blueprint/proptools"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type defaultsTestProperties struct {
|
type defaultsTestProperties struct {
|
||||||
@@ -58,6 +55,14 @@ func defaultsTestDefaultsFactory() Module {
|
|||||||
return defaults
|
return defaults
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var prepareForDefaultsTest = GroupFixturePreparers(
|
||||||
|
PrepareForTestWithDefaults,
|
||||||
|
FixtureRegisterWithContext(func(ctx RegistrationContext) {
|
||||||
|
ctx.RegisterModuleType("test", defaultsTestModuleFactory)
|
||||||
|
ctx.RegisterModuleType("defaults", defaultsTestDefaultsFactory)
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
|
||||||
func TestDefaults(t *testing.T) {
|
func TestDefaults(t *testing.T) {
|
||||||
bp := `
|
bp := `
|
||||||
defaults {
|
defaults {
|
||||||
@@ -78,27 +83,14 @@ func TestDefaults(t *testing.T) {
|
|||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
config := TestConfig(buildDir, nil, bp, nil)
|
result := emptyTestFixtureFactory.RunTest(t,
|
||||||
|
prepareForDefaultsTest,
|
||||||
|
FixtureWithRootAndroidBp(bp),
|
||||||
|
)
|
||||||
|
|
||||||
ctx := NewTestContext(config)
|
foo := result.Module("foo", "").(*defaultsTestModule)
|
||||||
|
|
||||||
ctx.RegisterModuleType("test", defaultsTestModuleFactory)
|
AssertDeepEquals(t, "foo", []string{"transitive", "defaults", "module"}, foo.properties.Foo)
|
||||||
ctx.RegisterModuleType("defaults", defaultsTestDefaultsFactory)
|
|
||||||
|
|
||||||
ctx.PreArchMutators(RegisterDefaultsPreArchMutators)
|
|
||||||
|
|
||||||
ctx.Register()
|
|
||||||
|
|
||||||
_, errs := ctx.ParseFileList(".", []string{"Android.bp"})
|
|
||||||
FailIfErrored(t, errs)
|
|
||||||
_, errs = ctx.PrepareBuildActions(config)
|
|
||||||
FailIfErrored(t, errs)
|
|
||||||
|
|
||||||
foo := ctx.ModuleForTests("foo", "").Module().(*defaultsTestModule)
|
|
||||||
|
|
||||||
if g, w := foo.properties.Foo, []string{"transitive", "defaults", "module"}; !reflect.DeepEqual(g, w) {
|
|
||||||
t.Errorf("expected foo %q, got %q", w, g)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDefaultsAllowMissingDependencies(t *testing.T) {
|
func TestDefaultsAllowMissingDependencies(t *testing.T) {
|
||||||
@@ -122,34 +114,18 @@ func TestDefaultsAllowMissingDependencies(t *testing.T) {
|
|||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
config := TestConfig(buildDir, nil, bp, nil)
|
result := emptyTestFixtureFactory.RunTest(t,
|
||||||
config.TestProductVariables.Allow_missing_dependencies = proptools.BoolPtr(true)
|
prepareForDefaultsTest,
|
||||||
|
PrepareForTestWithAllowMissingDependencies,
|
||||||
|
FixtureWithRootAndroidBp(bp),
|
||||||
|
)
|
||||||
|
|
||||||
ctx := NewTestContext(config)
|
missingDefaults := result.ModuleForTests("missing_defaults", "").Output("out")
|
||||||
ctx.SetAllowMissingDependencies(true)
|
missingTransitiveDefaults := result.ModuleForTests("missing_transitive_defaults", "").Output("out")
|
||||||
|
|
||||||
ctx.RegisterModuleType("test", defaultsTestModuleFactory)
|
AssertSame(t, "missing_defaults rule", ErrorRule, missingDefaults.Rule)
|
||||||
ctx.RegisterModuleType("defaults", defaultsTestDefaultsFactory)
|
|
||||||
|
|
||||||
ctx.PreArchMutators(RegisterDefaultsPreArchMutators)
|
AssertStringEquals(t, "missing_defaults", "module missing_defaults missing dependencies: missing\n", missingDefaults.Args["error"])
|
||||||
|
|
||||||
ctx.Register()
|
|
||||||
|
|
||||||
_, errs := ctx.ParseFileList(".", []string{"Android.bp"})
|
|
||||||
FailIfErrored(t, errs)
|
|
||||||
_, errs = ctx.PrepareBuildActions(config)
|
|
||||||
FailIfErrored(t, errs)
|
|
||||||
|
|
||||||
missingDefaults := ctx.ModuleForTests("missing_defaults", "").Output("out")
|
|
||||||
missingTransitiveDefaults := ctx.ModuleForTests("missing_transitive_defaults", "").Output("out")
|
|
||||||
|
|
||||||
if missingDefaults.Rule != ErrorRule {
|
|
||||||
t.Errorf("expected missing_defaults rule to be ErrorRule, got %#v", missingDefaults.Rule)
|
|
||||||
}
|
|
||||||
|
|
||||||
if g, w := missingDefaults.Args["error"], "module missing_defaults missing dependencies: missing\n"; g != w {
|
|
||||||
t.Errorf("want error %q, got %q", w, g)
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: missing transitive defaults is currently not handled
|
// TODO: missing transitive defaults is currently not handled
|
||||||
_ = missingTransitiveDefaults
|
_ = missingTransitiveDefaults
|
||||||
|
Reference in New Issue
Block a user