Loading android/fixture.go +12 −1 Original line number Diff line number Diff line Loading @@ -396,6 +396,9 @@ func (h simpleErrorHandler) CheckErrors(result *TestResult, errs []error) { // The default fixture error handler. // // Will fail the test immediately if any errors are reported. // // If the test fails this handler will call `result.FailNow()` which will exit the goroutine within // which the test is being run which means that the RunTest() method will not return. var FixtureExpectsNoErrors = FixtureCustomErrorHandler( func(result *TestResult, errs []error) { FailIfErrored(result.T, errs) Loading @@ -411,9 +414,14 @@ var FixtureExpectsNoErrors = FixtureCustomErrorHandler( // // The test will not fail if: // * Multiple errors are reported that do not match the pattern as long as one does match. // // If the test fails this handler will call `result.FailNow()` which will exit the goroutine within // which the test is being run which means that the RunTest() method will not return. func FixtureExpectsAtLeastOneErrorMatchingPattern(pattern string) FixtureErrorHandler { return FixtureCustomErrorHandler(func(result *TestResult, errs []error) { FailIfNoMatchingErrors(result.T, pattern, errs) if !FailIfNoMatchingErrors(result.T, pattern, errs) { result.FailNow() } }) } Loading @@ -427,6 +435,9 @@ func FixtureExpectsAtLeastOneErrorMatchingPattern(pattern string) FixtureErrorHa // // The test will not fail if: // * One or more of the patterns does not match an error. // // If the test fails this handler will call `result.FailNow()` which will exit the goroutine within // which the test is being run which means that the RunTest() method will not return. func FixtureExpectsAllErrorsToMatchAPattern(patterns []string) FixtureErrorHandler { return FixtureCustomErrorHandler(func(result *TestResult, errs []error) { CheckErrorsAgainstExpectations(result.T, errs, patterns) Loading android/testing.go +8 −3 Original line number Diff line number Diff line Loading @@ -456,12 +456,15 @@ func FailIfErrored(t *testing.T, errs []error) { } } func FailIfNoMatchingErrors(t *testing.T, pattern string, errs []error) { // Fail if no errors that matched the regular expression were found. // // Returns true if a matching error was found, false otherwise. func FailIfNoMatchingErrors(t *testing.T, pattern string, errs []error) bool { t.Helper() matcher, err := regexp.Compile(pattern) if err != nil { t.Errorf("failed to compile regular expression %q because %s", pattern, err) t.Fatalf("failed to compile regular expression %q because %s", pattern, err) } found := false Loading @@ -477,6 +480,8 @@ func FailIfNoMatchingErrors(t *testing.T, pattern string, errs []error) { t.Errorf("errs[%d] = %q", i, err) } } return found } func CheckErrorsAgainstExpectations(t *testing.T, errs []error, expectedErrorPatterns []string) { Loading @@ -497,9 +502,9 @@ func CheckErrorsAgainstExpectations(t *testing.T, errs []error, expectedErrorPat for i, err := range errs { t.Errorf("errs[%d] = %s", i, err) } t.FailNow() } } } func SetKatiEnabledForTests(config Config) { Loading Loading
android/fixture.go +12 −1 Original line number Diff line number Diff line Loading @@ -396,6 +396,9 @@ func (h simpleErrorHandler) CheckErrors(result *TestResult, errs []error) { // The default fixture error handler. // // Will fail the test immediately if any errors are reported. // // If the test fails this handler will call `result.FailNow()` which will exit the goroutine within // which the test is being run which means that the RunTest() method will not return. var FixtureExpectsNoErrors = FixtureCustomErrorHandler( func(result *TestResult, errs []error) { FailIfErrored(result.T, errs) Loading @@ -411,9 +414,14 @@ var FixtureExpectsNoErrors = FixtureCustomErrorHandler( // // The test will not fail if: // * Multiple errors are reported that do not match the pattern as long as one does match. // // If the test fails this handler will call `result.FailNow()` which will exit the goroutine within // which the test is being run which means that the RunTest() method will not return. func FixtureExpectsAtLeastOneErrorMatchingPattern(pattern string) FixtureErrorHandler { return FixtureCustomErrorHandler(func(result *TestResult, errs []error) { FailIfNoMatchingErrors(result.T, pattern, errs) if !FailIfNoMatchingErrors(result.T, pattern, errs) { result.FailNow() } }) } Loading @@ -427,6 +435,9 @@ func FixtureExpectsAtLeastOneErrorMatchingPattern(pattern string) FixtureErrorHa // // The test will not fail if: // * One or more of the patterns does not match an error. // // If the test fails this handler will call `result.FailNow()` which will exit the goroutine within // which the test is being run which means that the RunTest() method will not return. func FixtureExpectsAllErrorsToMatchAPattern(patterns []string) FixtureErrorHandler { return FixtureCustomErrorHandler(func(result *TestResult, errs []error) { CheckErrorsAgainstExpectations(result.T, errs, patterns) Loading
android/testing.go +8 −3 Original line number Diff line number Diff line Loading @@ -456,12 +456,15 @@ func FailIfErrored(t *testing.T, errs []error) { } } func FailIfNoMatchingErrors(t *testing.T, pattern string, errs []error) { // Fail if no errors that matched the regular expression were found. // // Returns true if a matching error was found, false otherwise. func FailIfNoMatchingErrors(t *testing.T, pattern string, errs []error) bool { t.Helper() matcher, err := regexp.Compile(pattern) if err != nil { t.Errorf("failed to compile regular expression %q because %s", pattern, err) t.Fatalf("failed to compile regular expression %q because %s", pattern, err) } found := false Loading @@ -477,6 +480,8 @@ func FailIfNoMatchingErrors(t *testing.T, pattern string, errs []error) { t.Errorf("errs[%d] = %q", i, err) } } return found } func CheckErrorsAgainstExpectations(t *testing.T, errs []error, expectedErrorPatterns []string) { Loading @@ -497,9 +502,9 @@ func CheckErrorsAgainstExpectations(t *testing.T, errs []error, expectedErrorPat for i, err := range errs { t.Errorf("errs[%d] = %s", i, err) } t.FailNow() } } } func SetKatiEnabledForTests(config Config) { Loading