Merge "Show all descriptions when failing to find one." am: 56d7ecd9ea am: 6e17c11763

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1969899

Change-Id: I90e868f8b927d131b8e05144b7096522ea6d983d
This commit is contained in:
Treehugger Robot
2022-02-03 05:02:15 +00:00
committed by Automerger Merge Worker

View File

@@ -781,19 +781,21 @@ func (b baseTestingComponent) buildParamsFromRule(rule string) TestingBuildParam
return p return p
} }
func (b baseTestingComponent) maybeBuildParamsFromDescription(desc string) TestingBuildParams { func (b baseTestingComponent) maybeBuildParamsFromDescription(desc string) (TestingBuildParams, []string) {
var searchedDescriptions []string
for _, p := range b.provider.BuildParamsForTests() { for _, p := range b.provider.BuildParamsForTests() {
searchedDescriptions = append(searchedDescriptions, p.Description)
if strings.Contains(p.Description, desc) { if strings.Contains(p.Description, desc) {
return b.newTestingBuildParams(p) return b.newTestingBuildParams(p), searchedDescriptions
} }
} }
return TestingBuildParams{} return TestingBuildParams{}, searchedDescriptions
} }
func (b baseTestingComponent) buildParamsFromDescription(desc string) TestingBuildParams { func (b baseTestingComponent) buildParamsFromDescription(desc string) TestingBuildParams {
p := b.maybeBuildParamsFromDescription(desc) p, searchedDescriptions := b.maybeBuildParamsFromDescription(desc)
if p.Rule == nil { if p.Rule == nil {
panic(fmt.Errorf("couldn't find description %q", desc)) panic(fmt.Errorf("couldn't find description %q\nall descriptions:\n%s", desc, strings.Join(searchedDescriptions, "\n")))
} }
return p return p
} }
@@ -860,7 +862,8 @@ func (b baseTestingComponent) Rule(rule string) TestingBuildParams {
// MaybeDescription finds a call to ctx.Build with BuildParams.Description set to a the given string. Returns an empty // MaybeDescription finds a call to ctx.Build with BuildParams.Description set to a the given string. Returns an empty
// BuildParams if no rule is found. // BuildParams if no rule is found.
func (b baseTestingComponent) MaybeDescription(desc string) TestingBuildParams { func (b baseTestingComponent) MaybeDescription(desc string) TestingBuildParams {
return b.maybeBuildParamsFromDescription(desc) p, _ := b.maybeBuildParamsFromDescription(desc)
return p
} }
// Description finds a call to ctx.Build with BuildParams.Description set to a the given string. Panics if no rule is // Description finds a call to ctx.Build with BuildParams.Description set to a the given string. Panics if no rule is