Fix module rename inside namespace
Rename was expecting fully qualified names, but context.go always
passes it short names.
Bug: 77922456
Test: TestRename in namespace_test.go
Change-Id: I552ff39fd8ed6ba6da4262925060b45104840ff7
Merged-In: I552ff39fd8ed6ba6da4262925060b45104840ff7
(cherry picked from commit eafb10c23a
)
This commit is contained in:
@@ -582,6 +582,25 @@ func TestConsistentNamespaceNames(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// so that the generated .ninja file will have consistent names
|
||||
func TestRename(t *testing.T) {
|
||||
_ = setupTest(t,
|
||||
map[string]string{
|
||||
"dir1": `
|
||||
soong_namespace {
|
||||
}
|
||||
test_module {
|
||||
name: "a",
|
||||
deps: ["c"],
|
||||
}
|
||||
test_module {
|
||||
name: "b",
|
||||
rename: "c",
|
||||
}
|
||||
`})
|
||||
// setupTest will report any errors
|
||||
}
|
||||
|
||||
// some utils to support the tests
|
||||
|
||||
func mockFiles(bps map[string]string) (files map[string][]byte) {
|
||||
@@ -607,6 +626,9 @@ func setupTestFromFiles(bps map[string][]byte) (ctx *TestContext, errs []error)
|
||||
ctx.RegisterModuleType("test_module", ModuleFactoryAdaptor(newTestModule))
|
||||
ctx.RegisterModuleType("soong_namespace", ModuleFactoryAdaptor(NamespaceFactory))
|
||||
ctx.PreArchMutators(RegisterNamespaceMutator)
|
||||
ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) {
|
||||
ctx.BottomUp("rename", renameMutator)
|
||||
})
|
||||
ctx.Register()
|
||||
|
||||
_, errs = ctx.ParseBlueprintsFiles("Android.bp")
|
||||
@@ -672,12 +694,16 @@ func findModuleById(ctx *TestContext, id string) (module TestingModule) {
|
||||
type testModule struct {
|
||||
ModuleBase
|
||||
properties struct {
|
||||
Deps []string
|
||||
Id string
|
||||
Rename string
|
||||
Deps []string
|
||||
Id string
|
||||
}
|
||||
}
|
||||
|
||||
func (m *testModule) DepsMutator(ctx BottomUpMutatorContext) {
|
||||
if m.properties.Rename != "" {
|
||||
ctx.Rename(m.properties.Rename)
|
||||
}
|
||||
for _, d := range m.properties.Deps {
|
||||
ctx.AddDependency(ctx.Module(), nil, d)
|
||||
}
|
||||
@@ -686,6 +712,14 @@ func (m *testModule) DepsMutator(ctx BottomUpMutatorContext) {
|
||||
func (m *testModule) GenerateAndroidBuildActions(ModuleContext) {
|
||||
}
|
||||
|
||||
func renameMutator(ctx BottomUpMutatorContext) {
|
||||
if m, ok := ctx.Module().(*testModule); ok {
|
||||
if m.properties.Rename != "" {
|
||||
ctx.Rename(m.properties.Rename)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func newTestModule() Module {
|
||||
m := &testModule{}
|
||||
m.AddProperties(&m.properties)
|
||||
|
Reference in New Issue
Block a user