Show less ambiguous paths in the error when it fails to match the given

output file.

PathRelativeToTop should give an unambiguous path that can be used for
matching, as opposed to Rel().

Test: `m nothing` with a test with an invalid Output() call
Change-Id: I6d501df6acb0a1700f1480bd4250320f69278c39
This commit is contained in:
Martin Stjernholm 2021-09-17 02:51:48 +01:00
parent 2c6ede11cc
commit a4aaa47a00

View file

@ -748,7 +748,7 @@ func (b baseTestingComponent) buildParamsFromDescription(desc string) TestingBui
}
func (b baseTestingComponent) maybeBuildParamsFromOutput(file string) (TestingBuildParams, []string) {
var searchedOutputs []string
searchedOutputs := WritablePaths(nil)
for _, p := range b.provider.BuildParamsForTests() {
outputs := append(WritablePaths(nil), p.Outputs...)
outputs = append(outputs, p.ImplicitOutputs...)
@ -759,10 +759,17 @@ func (b baseTestingComponent) maybeBuildParamsFromOutput(file string) (TestingBu
if f.String() == file || f.Rel() == file || PathRelativeToTop(f) == file {
return b.newTestingBuildParams(p), nil
}
searchedOutputs = append(searchedOutputs, f.Rel())
searchedOutputs = append(searchedOutputs, f)
}
}
return TestingBuildParams{}, searchedOutputs
formattedOutputs := []string{}
for _, f := range searchedOutputs {
formattedOutputs = append(formattedOutputs,
fmt.Sprintf("%s (rel=%s)", PathRelativeToTop(f), f.Rel()))
}
return TestingBuildParams{}, formattedOutputs
}
func (b baseTestingComponent) buildParamsFromOutput(file string) TestingBuildParams {