Search for default_team in Android.bp when other .bp files are included.
Test: m all_teams && gqui from "flatten(out/soong/ownership/all_teams.pb, teams)" proto build/soong/android/team_proto/team.proto:AllTeams 'select teams.path, count(*) where teams.trendy_team_id == "4768044190400512" and teams.path like "%libcore%" group by teams.path ' Now we get the libcore entries for JavaLibrary.bp and NativeCode.bp as well. Before we didn't ... | external/icu/android_icu4j/libcore_bridge/src/native/Android.bp | 1 | | libcore/Android.bp | 3 | | libcore/Extras.bp | 1 | | libcore/JavaLibrary.bp | 82 | | libcore/NativeCode.bp | 10 | | libcore/benchmarks/Android.bp | 3 | ... Note: blueprint does not let include a file from a subdirectory. Bug: b/355270459 Change-Id: I19b22e341276c724786ea96e237733eac4f19dbf
This commit is contained in:
@@ -264,6 +264,84 @@ func TestPackageLookup(t *testing.T) {
|
||||
AssertDeepEquals(t, "compare maps", expectedTeams, actualTeams)
|
||||
}
|
||||
|
||||
func TestPackageLookupForIncludedBlueprintFiles(t *testing.T) {
|
||||
t.Parallel()
|
||||
rootBp := `
|
||||
package { default_team: "team_top"}
|
||||
team {
|
||||
name: "team_top",
|
||||
trendy_team_id: "trendy://team_top",
|
||||
}
|
||||
build = ["include.bp"]
|
||||
`
|
||||
includeBp := `
|
||||
fake {
|
||||
name: "IncludedModule",
|
||||
} `
|
||||
|
||||
ctx := GroupFixturePreparers(
|
||||
prepareForTestWithTeamAndFakes,
|
||||
PrepareForTestWithPackageModule,
|
||||
FixtureRegisterWithContext(func(ctx RegistrationContext) {
|
||||
ctx.RegisterParallelSingletonType("all_teams", AllTeamsFactory)
|
||||
}),
|
||||
FixtureAddTextFile("Android.bp", rootBp),
|
||||
FixtureAddTextFile("include.bp", includeBp),
|
||||
).RunTest(t)
|
||||
|
||||
var teams *team_proto.AllTeams
|
||||
teams = getTeamProtoOutput(t, ctx)
|
||||
|
||||
// map of module name -> trendy team name.
|
||||
actualTeams := make(map[string]*string)
|
||||
for _, teamProto := range teams.Teams {
|
||||
actualTeams[teamProto.GetTargetName()] = teamProto.TrendyTeamId
|
||||
}
|
||||
expectedTeams := map[string]*string{
|
||||
"IncludedModule": proto.String("trendy://team_top"),
|
||||
}
|
||||
AssertDeepEquals(t, "compare maps", expectedTeams, actualTeams)
|
||||
}
|
||||
|
||||
func TestPackageLookupForIncludedBlueprintFilesWithPackageInChildBlueprint(t *testing.T) {
|
||||
t.Parallel()
|
||||
rootBp := `
|
||||
team {
|
||||
name: "team_top",
|
||||
trendy_team_id: "trendy://team_top",
|
||||
}
|
||||
build = ["include.bp"]
|
||||
`
|
||||
includeBp := `
|
||||
package { default_team: "team_top"}
|
||||
fake {
|
||||
name: "IncludedModule",
|
||||
} `
|
||||
|
||||
ctx := GroupFixturePreparers(
|
||||
prepareForTestWithTeamAndFakes,
|
||||
PrepareForTestWithPackageModule,
|
||||
FixtureRegisterWithContext(func(ctx RegistrationContext) {
|
||||
ctx.RegisterParallelSingletonType("all_teams", AllTeamsFactory)
|
||||
}),
|
||||
FixtureAddTextFile("Android.bp", rootBp),
|
||||
FixtureAddTextFile("include.bp", includeBp),
|
||||
).RunTest(t)
|
||||
|
||||
var teams *team_proto.AllTeams
|
||||
teams = getTeamProtoOutput(t, ctx)
|
||||
|
||||
// map of module name -> trendy team name.
|
||||
actualTeams := make(map[string]*string)
|
||||
for _, teamProto := range teams.Teams {
|
||||
actualTeams[teamProto.GetTargetName()] = teamProto.TrendyTeamId
|
||||
}
|
||||
expectedTeams := map[string]*string{
|
||||
"IncludedModule": proto.String("trendy://team_top"),
|
||||
}
|
||||
AssertDeepEquals(t, "compare maps", expectedTeams, actualTeams)
|
||||
}
|
||||
|
||||
type fakeForTests struct {
|
||||
ModuleBase
|
||||
|
||||
|
Reference in New Issue
Block a user