Support multiple expected errors in neverallow_test.go

Extracted some common code used by visibility_test.go and
neverallow_test.go into a new function CheckErrorsAgainstExpectations
in testing.go.

(cherry picked from commit 8e47e8bc41)
Bug: 138428610
Test: m nothing
Change-Id: Iafbadf12c6ffdc4d9128fcfe7f15792df5cfd020
This commit is contained in:
Paul Duffin
2019-08-05 15:07:57 +01:00
parent f3d807778d
commit b5af6204d3
3 changed files with 58 additions and 39 deletions

View File

@@ -860,23 +860,7 @@ func TestVisibility(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
_, errs := testVisibility(buildDir, test.fs)
expectedErrors := test.expectedErrors
if expectedErrors == nil {
FailIfErrored(t, errs)
} else {
for _, expectedError := range expectedErrors {
FailIfNoMatchingErrors(t, expectedError, errs)
}
if len(errs) > len(expectedErrors) {
t.Errorf("additional errors found, expected %d, found %d", len(expectedErrors), len(errs))
for i, expectedError := range expectedErrors {
t.Errorf("expectedErrors[%d] = %s", i, expectedError)
}
for i, err := range errs {
t.Errorf("errs[%d] = %s", i, err)
}
}
}
CheckErrorsAgainstExpectations(t, errs, test.expectedErrors)
})
}
}