Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Unified Diff: common/errors/annotate_test.go

Issue 2963503003: [errors] Greatly simplify common/errors package. (Closed)
Patch Set: fix nits Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « common/errors/annotate_example_test.go ('k') | common/errors/multierror.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common/errors/annotate_test.go
diff --git a/common/errors/annotate_test.go b/common/errors/annotate_test.go
index 283077a8a40b4ada28778f8be842cfd59b099756..733507e9c97cb3e53ae98920ee4db0e16438a1b4 100644
--- a/common/errors/annotate_test.go
+++ b/common/errors/annotate_test.go
@@ -5,7 +5,6 @@
package errors
import (
- "fmt"
"regexp"
"strings"
"testing"
@@ -19,7 +18,7 @@ var (
fixTestingLine = regexp.MustCompile(`(testing/\w+.go):\d+`)
)
-func FixForTest(lines Lines) Lines {
+func FixForTest(lines []string) []string {
for i, l := range lines {
switch {
case strings.HasPrefix(l, "goroutine"):
@@ -40,11 +39,8 @@ func TestAnnotation(t *testing.T) {
t.Parallel()
Convey("Test annotation struct", t, func() {
- e := (Annotate(New("bad thing")).
- Reason("%(first)d some error: %(second)q").
- D("extra", 8.2, "%.3f").
- D("first", 20, "0x%08x").
- D("second", "stringy").Err())
+ e := Annotate(New("bad thing"), "%d some error: %q", 20, "stringy").
+ InternalReason("extra(%.3f)", 8.2).Err()
ae := e.(*annotatedError)
Convey("annotation can render itself for public usage", func() {
@@ -52,91 +48,53 @@ func TestAnnotation(t *testing.T) {
})
Convey("annotation can render itself for internal usage", func() {
- lines := RenderStack(e).ToLines(
- `runtime`, `github.com/jtolds/gls`,
+ lines := RenderStack(e, `runtime`, `github.com/jtolds/gls`,
`github.com/smartystreets/goconvey/convey`)
FixForTest(lines)
- So(lines, ShouldResemble, Lines{
+ So(lines, ShouldResemble, []string{
`original error: bad thing`,
``,
`GOROUTINE LINE`,
- `#? github.com/luci/luci-go/common/errors/annotate_test.go:47 - errors.TestAnnotation.func1()`,
- ` reason: "20 some error: \"stringy\""`,
- ` "extra" = 8.200`,
- ` "first" = 0x00000014`,
- ` "second" = "stringy"`,
+ `#? github.com/luci/luci-go/common/errors/annotate_test.go:43 - errors.TestAnnotation.func1()`,
+ ` reason: 20 some error: "stringy"`,
+ ` internal reason: extra(8.200)`,
``,
`... skipped SOME frames in pkg "github.com/smartystreets/goconvey/convey"...`,
`... skipped SOME frames in pkg "github.com/jtolds/gls"...`,
`... skipped SOME frames in pkg "github.com/smartystreets/goconvey/convey"...`,
``,
- `#? github.com/luci/luci-go/common/errors/annotate_test.go:110 - errors.TestAnnotation()`,
+ `#? github.com/luci/luci-go/common/errors/annotate_test.go:99 - errors.TestAnnotation()`,
`#? testing/testing.go:XXX - testing.tRunner()`,
`... skipped SOME frames in pkg "runtime"...`,
})
})
Convey("can render whole stack", func() {
- e = Annotate(e).Reason("outer frame %(first)s").D("first", "outer").Err()
- lines := RenderStack(e).ToLines(
- `runtime`, `github.com/jtolds/gls`,
+ e = Annotate(e, "outer frame %s", "outer").Err()
+ lines := RenderStack(e, `runtime`, `github.com/jtolds/gls`,
`github.com/smartystreets/goconvey/convey`)
FixForTest(lines)
- So(lines, ShouldResemble, Lines{
+ So(lines, ShouldResemble, []string{
`original error: bad thing`,
``,
`GOROUTINE LINE`,
- `#? github.com/luci/luci-go/common/errors/annotate_test.go:47 - errors.TestAnnotation.func1()`,
+ `#? github.com/luci/luci-go/common/errors/annotate_test.go:43 - errors.TestAnnotation.func1()`,
` annotation #0:`,
- ` reason: "outer frame outer"`,
- ` "first" = "outer"`,
+ ` reason: outer frame outer`,
` annotation #1:`,
- ` reason: "20 some error: \"stringy\""`,
- ` "extra" = 8.200`,
- ` "first" = 0x00000014`,
- ` "second" = "stringy"`,
+ ` reason: 20 some error: "stringy"`,
+ ` internal reason: extra(8.200)`,
``,
`... skipped SOME frames in pkg "github.com/smartystreets/goconvey/convey"...`,
`... skipped SOME frames in pkg "github.com/jtolds/gls"...`,
`... skipped SOME frames in pkg "github.com/smartystreets/goconvey/convey"...`,
``,
- `#? github.com/luci/luci-go/common/errors/annotate_test.go:110 - errors.TestAnnotation()`,
+ `#? github.com/luci/luci-go/common/errors/annotate_test.go:99 - errors.TestAnnotation()`,
`#? testing/testing.go:XXX - testing.tRunner()`,
`... skipped SOME frames in pkg "runtime"...`,
})
})
})
}
-
-func TestDataFormat(t *testing.T) {
- t.Parallel()
-
- testCases := []struct {
- format string
- expected string
- }{
- {"", ""},
- {"no replacements", `no replacements`},
- {"%(foo)s", `bar`},
- {"%%(foo)s", `%(foo)s`},
- {"%(foo)s|%(foo)s|%(foo)s", `bar|bar|bar`},
- {"|%(foo)s|%(foo)s|%(foo)s|", `|bar|bar|bar|`},
- {"%(missing)s", `MISSING(key="missing")`},
- {"replacing %(foo)q", `replacing "bar"`},
- {"replacing (%(foo)q)", `replacing ("bar")`},
- }
-
- Convey(`A testing Data object`, t, func() {
- data := Data{
- "foo": {"bar", ""},
- }
-
- for _, testCase := range testCases {
- Convey(fmt.Sprintf(`Formatting %q yields: %q`, testCase.format, testCase.expected), func() {
- So(data.Format(testCase.format), ShouldEqual, testCase.expected)
- })
- }
- })
-}
« no previous file with comments | « common/errors/annotate_example_test.go ('k') | common/errors/multierror.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698