diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c623f88..ca7b472 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -7,21 +7,35 @@ on: branches: [ master ] jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + go: + - "1.23" + - "1.24" + steps: + - uses: actions/checkout@v3 + + - name: Set up Go (${{ matrix.go }} + uses: actions/setup-go@v4 + with: + go-version: ${{ matrix.go }} + - name: Build (${{ matrix.go }}) + run: go build ./... build-and-test: runs-on: ubuntu-latest strategy: matrix: go: - - "1.13" - - "1.14" - - "1.15" - - "1.16" + - "1.23" + - "1.24" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Go (${{ matrix.go }} - uses: actions/setup-go@v2 + uses: actions/setup-go@v4 with: go-version: ${{ matrix.go }} @@ -32,4 +46,4 @@ jobs: run: go test ./... - name: Tidy (${{ matrix.go }}) - run: '[[ `go version` < "go version go1.15.10" ]] || go mod tidy' + run: go mod tidy diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0900075..0000000 --- a/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: go - -go: -- 1.13.x -- 1.14.x -- 1.15.x -- 1.16.x diff --git a/README.md b/README.md index a560146..0f193cc 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ older version of the package. | detail, eg `WithDetail()` | not visible | visible | no | type only | | assertion failure annotation, eg `WithAssertionFailure()` | not visible | visible | no | type only | | issue links, eg `WithIssueLink()`, `UnimplementedError()` | not visible | visible | yes | full | -| safe details, eg `WithSafeDetails()` | not visible | not visible | yes | full | +| safe details, eg `WithSafeDetails()` | not visible | visible | yes | full | | telemetry keys, eg. `WithTelemetryKey()` | not visible | visible | yes | full | | secondary errors, eg. `WithSecondaryError()`, `CombineErrors()` | not visible | visible | redacted, recursively | redacted, recursively | | barrier origins, eg. `Handled()` | not visible | visible | redacted, recursively | redacted, recursively | @@ -209,12 +209,12 @@ return errors.Wrap(foo(), "foo") - how to access the detail: `Error()`, regular Go formatting, Sentry Report. - `WithDetail(error, string) error`, `WithDetailf(error, string, ...interface{}) error`, user-facing detail with contextual information. - - **when to use: need to embark a message string to output when the error is presented to a human.** + - **when to use: need to embark a message string to output when the error is presented to a developer.** - what it does: captures detail strings. - how to access the detail: `errors.GetAllDetails()`, `errors.FlattenDetails()` (all details are preserved), format with `%+v`. Not included in Sentry reports. - `WithHint(error, string) error`, `WithHintf(error, string, ...interface{}) error`: user-facing detail with suggestion for action to take. - - **when to use: need to embark a message string to output when the error is presented to a human.** + - **when to use: need to embark a message string to output when the error is presented to an end user.** - what it does: captures hint strings. - how to access the detail: `errors.GetAllHints()`, `errors.FlattenHints()` (hints are de-duplicated), format with `%+v`. Not included in Sentry reports. @@ -536,7 +536,8 @@ Example use: | `WrapWithDepthf` | `WithMessagef` + `WithStackDepth` | | `AssertionFailedWithDepthf` | `NewWithDepthf` + `WithAssertionFailure` | | `NewAssertionErrorWithWrappedErrf` | `HandledWithMessagef` (barrier) + `WrapWithDepthf` + `WithAssertionFailure` | - +| `Join` | `JoinWithDepth` (see below) | +| `JoinWithDepth` | multi-cause wrapper + `WithStackDepth` | ## API (not constructing error objects) The following is a summary of the non-constructor API functions, grouped by category. @@ -573,10 +574,16 @@ func RegisterLeafDecoder(typeName TypeKey, decoder LeafDecoder) func RegisterLeafEncoder(typeName TypeKey, encoder LeafEncoder) func RegisterWrapperDecoder(typeName TypeKey, decoder WrapperDecoder) func RegisterWrapperEncoder(typeName TypeKey, encoder WrapperEncoder) +func RegisterWrapperEncoderWithMessageOverride (typeName TypeKey, encoder WrapperEncoderWithMessageOverride) +func RegisterMultiCauseEncoder(theType TypeKey, encoder MultiCauseEncoder) +func RegisterMultiCauseDecoder(theType TypeKey, decoder MultiCauseDecoder) type LeafEncoder = func(ctx context.Context, err error) (msg string, safeDetails []string, payload proto.Message) type LeafDecoder = func(ctx context.Context, msg string, safeDetails []string, payload proto.Message) error type WrapperEncoder = func(ctx context.Context, err error) (msgPrefix string, safeDetails []string, payload proto.Message) +type WrapperEncoderWithMessageOverride = func(ctx context.Context, err error) (msgPrefix string, safeDetails []string, payload proto.Message, overrideError bool) type WrapperDecoder = func(ctx context.Context, cause error, msgPrefix string, safeDetails []string, payload proto.Message) error +type MultiCauseEncoder = func(ctx context.Context, err error) (msg string, safeDetails []string, payload proto.Message) +type MultiCauseDecoder = func(ctx context.Context, causes []error, msgPrefix string, safeDetails []string, payload proto.Message) error // Registering package renames for custom error types. func RegisterTypeMigration(previousPkgPath, previousTypeName string, newType error) diff --git a/barriers/barriers.go b/barriers/barriers.go index fa4f431..54df8f3 100644 --- a/barriers/barriers.go +++ b/barriers/barriers.go @@ -19,6 +19,7 @@ import ( "fmt" "github.com/cockroachdb/errors/errbase" + "github.com/cockroachdb/redact" "github.com/gogo/protobuf/proto" ) @@ -36,7 +37,7 @@ func Handled(err error) error { if err == nil { return nil } - return HandledWithMessage(err, err.Error()) + return HandledWithSafeMessage(err, redact.Sprint(err)) } // HandledWithMessage is like Handled except the message is overridden. @@ -46,7 +47,14 @@ func HandledWithMessage(err error, msg string) error { if err == nil { return nil } - return &barrierError{maskedErr: err, msg: msg} + return HandledWithSafeMessage(err, redact.Sprint(msg)) +} + +// HandledWithSafeMessage is like Handled except the message is overridden. +// This can be used e.g. to hide message details or to prevent +// downstream code to make assertions on the message's contents. +func HandledWithSafeMessage(err error, msg redact.RedactableString) error { + return &barrierErr{maskedErr: err, smsg: msg} } // HandledWithMessagef is like HandledWithMessagef except the message @@ -55,47 +63,48 @@ func HandledWithMessagef(err error, format string, args ...interface{}) error { if err == nil { return nil } - return &barrierError{maskedErr: err, msg: fmt.Sprintf(format, args...)} + return &barrierErr{maskedErr: err, smsg: redact.Sprintf(format, args...)} } -// barrierError is a leaf error type. It encapsulates a chain of +// barrierErr is a leaf error type. It encapsulates a chain of // original causes, but these causes are hidden so that they inhibit // matching via Is() and the Cause()/Unwrap() recursions. -type barrierError struct { +type barrierErr struct { // Message for the barrier itself. // In the common case, the message from the masked error // is used as-is (see Handled() above) however it is // useful to cache it here since the masked error may // have a long chain of wrappers and its Error() call // may be expensive. - msg string + smsg redact.RedactableString // Masked error chain. maskedErr error } -var _ error = (*barrierError)(nil) -var _ errbase.SafeDetailer = (*barrierError)(nil) -var _ errbase.SafeFormatter = (*barrierError)(nil) -var _ fmt.Formatter = (*barrierError)(nil) +var _ error = (*barrierErr)(nil) +var _ errbase.SafeDetailer = (*barrierErr)(nil) +var _ errbase.SafeFormatter = (*barrierErr)(nil) +var _ fmt.Formatter = (*barrierErr)(nil) -// barrierError is an error. -func (e *barrierError) Error() string { return e.msg } +// barrierErr is an error. +func (e *barrierErr) Error() string { return e.smsg.StripMarkers() } // SafeDetails reports the PII-free details from the masked error. -func (e *barrierError) SafeDetails() []string { +func (e *barrierErr) SafeDetails() []string { var details []string for err := e.maskedErr; err != nil; err = errbase.UnwrapOnce(err) { sd := errbase.GetSafeDetails(err) details = sd.Fill(details) } + details = append(details, redact.Sprintf("masked error: %+v", e.maskedErr).Redact().StripMarkers()) return details } // Printing a barrier reveals the details. -func (e *barrierError) Format(s fmt.State, verb rune) { errbase.FormatError(e, s, verb) } +func (e *barrierErr) Format(s fmt.State, verb rune) { errbase.FormatError(e, s, verb) } -func (e *barrierError) SafeFormatError(p errbase.Printer) (next error) { - p.Print(e.msg) +func (e *barrierErr) SafeFormatError(p errbase.Printer) (next error) { + p.Print(e.smsg) if p.Detail() { p.Printf("-- cause hidden behind barrier\n%+v", e.maskedErr) } @@ -106,19 +115,37 @@ func (e *barrierError) SafeFormatError(p errbase.Printer) (next error) { func encodeBarrier( ctx context.Context, err error, ) (msg string, details []string, payload proto.Message) { - e := err.(*barrierError) + e := err.(*barrierErr) enc := errbase.EncodeError(ctx, e.maskedErr) - return e.msg, e.SafeDetails(), &enc + return string(e.smsg), e.SafeDetails(), &enc } // A barrier error is decoded exactly. func decodeBarrier(ctx context.Context, msg string, _ []string, payload proto.Message) error { enc := payload.(*errbase.EncodedError) - return &barrierError{msg: msg, maskedErr: errbase.DecodeError(ctx, *enc)} + return &barrierErr{smsg: redact.RedactableString(msg), maskedErr: errbase.DecodeError(ctx, *enc)} } +// Previous versions of barrier errors. +func decodeBarrierPrev(ctx context.Context, msg string, _ []string, payload proto.Message) error { + enc := payload.(*errbase.EncodedError) + return &barrierErr{smsg: redact.Sprint(msg), maskedErr: errbase.DecodeError(ctx, *enc)} +} + +// barrierError is the "old" type name of barrierErr. We use a new +// name now to ensure a different decode function is used when +// importing barriers from the previous structure, where the +// message is not redactable. +type barrierError struct { + msg string + maskedErr error +} + +func (b *barrierError) Error() string { return "" } + func init() { - tn := errbase.GetTypeKey((*barrierError)(nil)) + errbase.RegisterLeafDecoder(errbase.GetTypeKey((*barrierError)(nil)), decodeBarrierPrev) + tn := errbase.GetTypeKey((*barrierErr)(nil)) errbase.RegisterLeafDecoder(tn, decodeBarrier) errbase.RegisterLeafEncoder(tn, encodeBarrier) } diff --git a/barriers/barriers_test.go b/barriers/barriers_test.go index c92a168..b559161 100644 --- a/barriers/barriers_test.go +++ b/barriers/barriers_test.go @@ -118,7 +118,7 @@ woo | woo | (1) woo | Error types: (1) *errors.errorString -Error types: (1) *barriers.barrierError`}, +Error types: (1) *barriers.barrierErr`}, {"handled + handled", barriers.Handled(barriers.Handled(goErr.New("woo"))), woo, ` woo @@ -130,8 +130,8 @@ woo | | woo | | (1) woo | | Error types: (1) *errors.errorString - | Error types: (1) *barriers.barrierError -Error types: (1) *barriers.barrierError`}, + | Error types: (1) *barriers.barrierErr +Error types: (1) *barriers.barrierErr`}, {"handledmsg", barriers.HandledWithMessage(goErr.New("woo"), "waa"), "waa", ` waa @@ -140,7 +140,7 @@ waa | woo | (1) woo | Error types: (1) *errors.errorString -Error types: (1) *barriers.barrierError`}, +Error types: (1) *barriers.barrierErr`}, {"handledmsg + handledmsg", barriers.HandledWithMessage( barriers.HandledWithMessage( @@ -154,8 +154,8 @@ wuu | | woo | | (1) woo | | Error types: (1) *errors.errorString - | Error types: (1) *barriers.barrierError -Error types: (1) *barriers.barrierError`}, + | Error types: (1) *barriers.barrierErr +Error types: (1) *barriers.barrierErr`}, {"handled + wrapper", barriers.Handled( @@ -172,7 +172,7 @@ waa: woo | | multi-line wrapper payload | Wraps: (2) woo | Error types: (1) *barriers_test.werrFmt (2) *errors.errorString -Error types: (1) *barriers.barrierError`}, +Error types: (1) *barriers.barrierErr`}, } for _, test := range testCases { diff --git a/benchmark_test.go b/benchmark_test.go new file mode 100644 index 0000000..0c403fc --- /dev/null +++ b/benchmark_test.go @@ -0,0 +1,181 @@ +package errors_test + +import ( + "context" + "fmt" + "net" + "testing" + + "github.com/cockroachdb/errors" +) + +func BenchmarkErrorsIs(b *testing.B) { + b.Run("NilError", func(b *testing.B) { + var err error + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("SimpleError", func(b *testing.B) { + err := errors.New("test") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("WrappedError", func(b *testing.B) { + baseErr := errors.New("test") + err := errors.Wrap(baseErr, "wrapped error") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("WrappedWithStack", func(b *testing.B) { + baseErr := errors.New("test") + err := errors.WithStack(baseErr) + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("NetworkError", func(b *testing.B) { + netErr := &net.OpError{ + Op: "dial", + Net: "tcp", + Addr: &net.TCPAddr{IP: net.IPv4(127, 0, 0, 1), Port: 26257}, + Err: fmt.Errorf("connection refused"), + } + err := errors.Wrap(netErr, "network connection failed") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("DeeplyWrappedNetworkError", func(b *testing.B) { + netErr := &net.OpError{ + Op: "dial", + Net: "tcp", + Addr: &net.TCPAddr{IP: net.IPv4(127, 0, 0, 1), Port: 26257}, + Err: fmt.Errorf("connection refused"), + } + err := errors.WithStack(netErr) + err = errors.Wrap(err, "failed to connect to database") + err = errors.Wrap(err, "unable to establish connection") + err = errors.WithStack(err) + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("MultipleWrappedErrors", func(b *testing.B) { + baseErr := errors.New("internal error") + err := errors.WithStack(baseErr) + err = errors.Wrap(err, "operation failed") + err = errors.WithStack(err) + err = errors.Wrap(err, "transaction failed") + err = errors.WithStack(err) + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("NetworkErrorWithLongAddress", func(b *testing.B) { + netErr := &net.OpError{ + Op: "read", + Net: "tcp", + Addr: &net.TCPAddr{ + IP: net.ParseIP("2001:0db8:85a3:0000:0000:8a2e:0370:7334"), + Port: 26257, + }, + Err: fmt.Errorf("i/o timeout"), + } + err := errors.WithStack(netErr) + err = errors.Wrap(err, "failed to read from connection") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("WithMessage", func(b *testing.B) { + baseErr := errors.New("test") + err := errors.WithMessage(baseErr, "additional context") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("MultipleWithMessage", func(b *testing.B) { + baseErr := errors.New("internal error") + err := errors.WithMessage(baseErr, "first message") + err = errors.WithMessage(err, "second message") + err = errors.WithMessage(err, "third message") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("WithMessageAndStack", func(b *testing.B) { + baseErr := errors.New("test") + err := errors.WithStack(baseErr) + err = errors.WithMessage(err, "operation context") + err = errors.WithStack(err) + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("NetworkErrorWithMessage", func(b *testing.B) { + netErr := &net.OpError{ + Op: "dial", + Net: "tcp", + Addr: &net.TCPAddr{IP: net.IPv4(127, 0, 0, 1), Port: 26257}, + Err: fmt.Errorf("connection refused"), + } + err := errors.WithMessage(netErr, "database connection failed") + err = errors.WithMessage(err, "unable to reach server") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("NetworkErrorWithEverything", func(b *testing.B) { + netErr := &net.OpError{ + Op: "dial", + Net: "tcp", + Addr: &net.TCPAddr{IP: net.IPv4(127, 0, 0, 1), Port: 26257}, + Err: fmt.Errorf("connection refused"), + } + err := errors.WithStack(netErr) + err = errors.WithMessage(err, "database connection failed") + err = errors.Wrap(err, "failed to establish TCP connection") + err = errors.WithStack(err) + err = errors.WithMessage(err, "unable to reach CockroachDB server") + err = errors.Wrap(err, "connection attempt failed") + for range b.N { + errors.Is(err, context.Canceled) + } + }) + + b.Run("DeeplyNested100Levels", func(b *testing.B) { + baseErr := errors.New("base error") + err := baseErr + + // Create a 100-level deep error chain + for i := 0; i < 100; i++ { + switch i % 3 { + case 0: + err = errors.Wrap(err, fmt.Sprintf("wrap level %d", i)) + case 1: + err = errors.WithMessage(err, fmt.Sprintf("message level %d", i)) + case 2: + err = errors.WithStack(err) + } + } + + for range b.N { + errors.Is(err, context.Canceled) + } + }) +} diff --git a/contexttags/contexttags.go b/contexttags/contexttags.go index 8b8277f..60e1da9 100644 --- a/contexttags/contexttags.go +++ b/contexttags/contexttags.go @@ -25,7 +25,7 @@ import ( // WithContextTags captures the k/v pairs stored in the context via the // `logtags` package and annotates them on the error. // -// Only the stromg representation of values remains available. This is +// Only the strong representation of values remains available. This is // because the library cannot guarantee that the underlying value is // preserved across the network. To avoid creating a stateful interface // (where the user code needs to know whether an error has traveled diff --git a/contexttags_api.go b/contexttags_api.go index 3f77960..44f6fa4 100644 --- a/contexttags_api.go +++ b/contexttags_api.go @@ -24,7 +24,7 @@ import ( // WithContextTags captures the k/v pairs stored in the context via the // `logtags` package and annotates them on the error. // -// Only the stromg representation of values remains available. This is +// Only the strong representation of values remains available. This is // because the library cannot guarantee that the underlying value is // preserved across the network. To avoid creating a stateful interface // (where the user code needs to know whether an error has traveled diff --git a/errbase/adapters.go b/errbase/adapters.go index ac483db..8ad5c93 100644 --- a/errbase/adapters.go +++ b/errbase/adapters.go @@ -37,6 +37,11 @@ func decodeErrorString(_ context.Context, msg string, _ []string, _ proto.Messag return goErr.New(msg) } +// context.DeadlineExceeded uses a custom type. +func decodeDeadlineExceeded(_ context.Context, _ string, _ []string, _ proto.Message) error { + return context.DeadlineExceeded +} + // errors.fundamental from github.com/pkg/errors cannot be encoded // exactly because it includes a non-serializable stack trace // object. In order to work with it, we encode it by dumping @@ -183,6 +188,8 @@ func init() { baseErr := goErr.New("") RegisterLeafDecoder(GetTypeKey(baseErr), decodeErrorString) + RegisterLeafDecoder(GetTypeKey(context.DeadlineExceeded), decodeDeadlineExceeded) + pkgE := pkgErr.New("") RegisterLeafEncoder(GetTypeKey(pkgE), encodePkgFundamental) diff --git a/errbase/adapters_test.go b/errbase/adapters_test.go index 4e5b73a..f80c0bf 100644 --- a/errbase/adapters_test.go +++ b/errbase/adapters_test.go @@ -55,6 +55,44 @@ func TestAdaptBaseGoErr(t *testing.T) { tt.CheckDeepEqual(newErr, origErr) } +func TestAdaptGoSingleWrapErr(t *testing.T) { + origErr := fmt.Errorf("an error %w", goErr.New("hello")) + t.Logf("start err: %# v", pretty.Formatter(origErr)) + + newErr := network(t, origErr) + + tt := testutils.T{T: t} + // The library preserves the cause. It's not possible to preserve the fmt + // string. + tt.CheckEqual(newErr.Error(), origErr.Error()) + tt.CheckContains(newErr.Error(), "hello") +} + +func TestAdaptBaseGoJoinErr(t *testing.T) { + origErr := goErr.Join(goErr.New("hello"), goErr.New("world")) + t.Logf("start err: %# v", pretty.Formatter(origErr)) + + newErr := network(t, origErr) + + tt := testutils.T{T: t} + // The library preserves the error message. + tt.CheckEqual(newErr.Error(), origErr.Error()) + +} + +func TestAdaptGoMultiWrapErr(t *testing.T) { + origErr := fmt.Errorf("an error %w and also %w", goErr.New("hello"), goErr.New("world")) + t.Logf("start err: %# v", pretty.Formatter(origErr)) + + newErr := network(t, origErr) + + tt := testutils.T{T: t} + // The library preserves the causes. It's not possible to preserve the fmt string. + tt.CheckEqual(newErr.Error(), origErr.Error()) + tt.CheckContains(newErr.Error(), "hello") + tt.CheckContains(newErr.Error(), "world") +} + func TestAdaptPkgWithMessage(t *testing.T) { // Simple message wrappers from github.com/pkg/errors are preserved // completely. @@ -172,6 +210,14 @@ func TestAdaptProtoErrorsWithWrapper(t *testing.T) { tt.CheckDeepEqual(newErr, origErr) } +func TestAdaptContextCanceled(t *testing.T) { + // context.DeadlineExceeded is preserved exactly. + + tt := testutils.T{T: t} + newErr := network(t, context.DeadlineExceeded) + tt.CheckEqual(newErr, context.DeadlineExceeded) +} + func TestAdaptOsErrors(t *testing.T) { // The special os error types are preserved exactly. diff --git a/errbase/decode.go b/errbase/decode.go index 6a03c63..59af230 100644 --- a/errbase/decode.go +++ b/errbase/decode.go @@ -57,6 +57,15 @@ func decodeLeaf(ctx context.Context, enc *errorspb.EncodedErrorLeaf) error { return genErr } // Decoding failed, we'll drop through to opaqueLeaf{} below. + } else if decoder, ok := multiCauseDecoders[typeKey]; ok { + causes := make([]error, len(enc.MultierrorCauses)) + for i, e := range enc.MultierrorCauses { + causes[i] = DecodeError(ctx, *e) + } + genErr := decoder(ctx, causes, enc.Message, enc.Details.ReportablePayload, payload) + if genErr != nil { + return genErr + } } else { // Shortcut for non-registered proto-encodable error types: // if it already implements `error`, it's good to go. @@ -66,6 +75,19 @@ func decodeLeaf(ctx context.Context, enc *errorspb.EncodedErrorLeaf) error { } } + if len(enc.MultierrorCauses) > 0 { + causes := make([]error, len(enc.MultierrorCauses)) + for i, e := range enc.MultierrorCauses { + causes[i] = DecodeError(ctx, *e) + } + leaf := &opaqueLeafCauses{ + causes: causes, + } + leaf.msg = enc.Message + leaf.details = enc.Details + return leaf + } + // No decoder and no error type: we'll keep what we received and // make it ready to re-encode exactly (if the error leaves over the // network again). @@ -97,7 +119,7 @@ func decodeWrapper(ctx context.Context, enc *errorspb.EncodedWrapper) error { typeKey := TypeKey(enc.Details.ErrorTypeMark.FamilyName) if decoder, ok := decoders[typeKey]; ok { // Yes, use it. - genErr := decoder(ctx, cause, enc.MessagePrefix, enc.Details.ReportablePayload, payload) + genErr := decoder(ctx, cause, enc.Message, enc.Details.ReportablePayload, payload) if genErr != nil { // Decoding succeeded. Use this. return genErr @@ -107,9 +129,10 @@ func decodeWrapper(ctx context.Context, enc *errorspb.EncodedWrapper) error { // Otherwise, preserve all details about the original object. return &opaqueWrapper{ - cause: cause, - prefix: enc.MessagePrefix, - details: enc.Details, + cause: cause, + prefix: enc.Message, + details: enc.Details, + messageType: MessageType(enc.MessageType), } } @@ -160,3 +183,24 @@ type WrapperDecoder = func(ctx context.Context, cause error, msgPrefix string, s // registry for RegisterWrapperType. var decoders = map[TypeKey]WrapperDecoder{} + +// MultiCauseDecoder is to be provided (via RegisterMultiCauseDecoder +// above) by additional multi-cause wrapper types not yet known by the +// library. A nil return indicates that decoding was not successful. +type MultiCauseDecoder = func(ctx context.Context, causes []error, msgPrefix string, safeDetails []string, payload proto.Message) error + +// registry for RegisterMultiCauseDecoder. +var multiCauseDecoders = map[TypeKey]MultiCauseDecoder{} + +// RegisterMultiCauseDecoder can be used to register new multi-cause +// wrapper types to the library. Registered wrappers will be decoded +// using their own Go type when an error is decoded. Multi-cause +// wrappers that have not been registered will be decoded using the +// opaqueWrapper type. +func RegisterMultiCauseDecoder(theType TypeKey, decoder MultiCauseDecoder) { + if decoder == nil { + delete(multiCauseDecoders, theType) + } else { + multiCauseDecoders[theType] = decoder + } +} diff --git a/errbase/encode.go b/errbase/encode.go index a485763..61ea0bb 100644 --- a/errbase/encode.go +++ b/errbase/encode.go @@ -33,18 +33,24 @@ func EncodeError(ctx context.Context, err error) EncodedError { if cause := UnwrapOnce(err); cause != nil { return encodeWrapper(ctx, err, cause) } - // Not a causer. - return encodeLeaf(ctx, err) + return encodeLeaf(ctx, err, UnwrapMulti(err)) } -// encodeLeaf encodes a leaf error. -func encodeLeaf(ctx context.Context, err error) EncodedError { +// encodeLeaf encodes a leaf error. This function accepts a `causes` +// argument because we encode multi-cause errors using the Leaf +// protobuf. This was done to enable backwards compatibility when +// introducing this functionality since the Wrapper type already has a +// required single `cause` field. +func encodeLeaf(ctx context.Context, err error, causes []error) EncodedError { var msg string var details errorspb.EncodedErrorDetails if e, ok := err.(*opaqueLeaf); ok { msg = e.msg details = e.details + } else if e, ok := err.(*opaqueLeafCauses); ok { + msg = e.msg + details = e.details } else { details.OriginalTypeName, details.ErrorTypeMark.FamilyName, details.ErrorTypeMark.Extension = getTypeDetails(err, false /*onlyFamily*/) @@ -74,11 +80,21 @@ func encodeLeaf(ctx context.Context, err error) EncodedError { details.FullDetails = encodeAsAny(ctx, err, payload) } + var cs []*EncodedError + if len(causes) > 0 { + cs = make([]*EncodedError, len(causes)) + for i, ee := range causes { + ee := EncodeError(ctx, ee) + cs[i] = &ee + } + } + return EncodedError{ Error: &errorspb.EncodedError_Leaf{ Leaf: &errorspb.EncodedErrorLeaf{ - Message: msg, - Details: details, + Message: msg, + Details: details, + MultierrorCauses: cs, }, }, } @@ -115,10 +131,18 @@ func encodeAsAny(ctx context.Context, err error, payload proto.Message) *types.A func encodeWrapper(ctx context.Context, err, cause error) EncodedError { var msg string var details errorspb.EncodedErrorDetails + messageType := Prefix if e, ok := err.(*opaqueWrapper); ok { + // We delegate all knowledge of the error string + // to the original encoder and do not try to re-engineer + // the prefix out of the error. This helps maintain + // backward compatibility with earlier versions of the + // encoder which don't have any understanding of + // error string ownership by the wrapper. msg = e.prefix details = e.details + messageType = e.messageType } else { details.OriginalTypeName, details.ErrorTypeMark.FamilyName, details.ErrorTypeMark.Extension = getTypeDetails(err, false /*onlyFamily*/) @@ -127,12 +151,12 @@ func encodeWrapper(ctx context.Context, err, cause error) EncodedError { // If we have a manually registered encoder, use that. typeKey := TypeKey(details.ErrorTypeMark.FamilyName) if enc, ok := encoders[typeKey]; ok { - msg, details.ReportablePayload, payload = enc(ctx, err) + msg, details.ReportablePayload, payload, messageType = enc(ctx, err) } else { // No encoder. // In that case, we'll try to compute a message prefix // manually. - msg = extractPrefix(err, cause) + msg, messageType = extractPrefix(err, cause) // If there are known safe details, use them. if s, ok := err.(SafeDetailer); ok { @@ -148,9 +172,10 @@ func encodeWrapper(ctx context.Context, err, cause error) EncodedError { return EncodedError{ Error: &errorspb.EncodedError_Wrapper{ Wrapper: &errorspb.EncodedWrapper{ - Cause: EncodeError(ctx, cause), - MessagePrefix: msg, - Details: details, + Cause: EncodeError(ctx, cause), + Message: msg, + Details: details, + MessageType: errorspb.MessageType(messageType), }, }, } @@ -158,21 +183,36 @@ func encodeWrapper(ctx context.Context, err, cause error) EncodedError { // extractPrefix extracts the prefix from a wrapper's error message. // For example, -// err := errors.New("bar") -// err = errors.Wrap(err, "foo") -// extractPrefix(err) +// +// err := errors.New("bar") +// err = errors.Wrap(err, "foo") +// extractPrefix(err) +// // returns "foo". -func extractPrefix(err, cause error) string { +// +// If a presumed wrapper does not have a message prefix, it is assumed +// to override the entire error message and `extractPrefix` returns +// the entire message and the boolean `true` to signify that the causes +// should not be appended to it. +func extractPrefix(err, cause error) (string, MessageType) { causeSuffix := cause.Error() errMsg := err.Error() if strings.HasSuffix(errMsg, causeSuffix) { prefix := errMsg[:len(errMsg)-len(causeSuffix)] + // If error msg matches exactly then this is a wrapper + // with no message of its own. + if len(prefix) == 0 { + return "", Prefix + } if strings.HasSuffix(prefix, ": ") { - return prefix[:len(prefix)-2] + return prefix[:len(prefix)-2], Prefix } } - return "" + // If we don't have the cause as a suffix, then we have + // some other string as our error msg, preserve that and + // mark as override + return errMsg, FullMessage } func getTypeDetails( @@ -183,6 +223,8 @@ func getTypeDetails( switch t := err.(type) { case *opaqueLeaf: return t.details.OriginalTypeName, t.details.ErrorTypeMark.FamilyName, t.details.ErrorTypeMark.Extension + case *opaqueLeafCauses: + return t.details.OriginalTypeName, t.details.ErrorTypeMark.FamilyName, t.details.ErrorTypeMark.Extension case *opaqueWrapper: return t.details.OriginalTypeName, t.details.ErrorTypeMark.FamilyName, t.details.ErrorTypeMark.Extension } @@ -263,6 +305,30 @@ func GetTypeMark(err error) errorspb.ErrorTypeMark { return errorspb.ErrorTypeMark{FamilyName: familyName, Extension: extension} } +// EqualTypeMark checks whether `GetTypeMark(e1).Equals(GetTypeMark(e2))`. It +// is written to be be optimized for the case where neither error has +// serialized type information. +func EqualTypeMark(e1, e2 error) bool { + slowPath := func(err error) bool { + switch err.(type) { + case *opaqueLeaf: + return true + case *opaqueLeafCauses: + return true + case *opaqueWrapper: + return true + case TypeKeyMarker: + return true + } + return false + } + if slowPath(e1) || slowPath(e2) { + return GetTypeMark(e1).Equals(GetTypeMark(e2)) + } + + return reflect.TypeOf(e1) == reflect.TypeOf(e2) +} + // RegisterLeafEncoder can be used to register new leaf error types to // the library. Registered types will be encoded using their own // Go type when an error is encoded. Wrappers that have not been @@ -286,6 +352,28 @@ type LeafEncoder = func(ctx context.Context, err error) (msg string, safeDetails // registry for RegisterLeafEncoder. var leafEncoders = map[TypeKey]LeafEncoder{} +// RegisterMultiCauseEncoder can be used to register new multi-cause +// error types to the library. Registered types will be encoded using +// their own Go type when an error is encoded. Multi-cause wrappers +// that have not been registered will be encoded using the +// opaqueWrapper type. +func RegisterMultiCauseEncoder(theType TypeKey, encoder MultiCauseEncoder) { + // This implementation is a simple wrapper around `LeafEncoder` + // because we implemented multi-cause error wrapper encoding into a + // `Leaf` instead of a `Wrapper` for smoother backwards + // compatibility support. Exposing this detail to consumers of the + // API is confusing and hence avoided. The causes of the error are + // encoded separately regardless of this encoder's implementation. + RegisterLeafEncoder(theType, encoder) +} + +// MultiCauseEncoder is to be provided (via RegisterMultiCauseEncoder +// above) by additional multi-cause wrapper types not yet known to this +// library. The encoder will automatically extract and encode the +// causes of this error by calling `Unwrap()` and expecting a slice of +// errors. +type MultiCauseEncoder = func(ctx context.Context, err error) (msg string, safeDetails []string, payload proto.Message) + // RegisterWrapperEncoder can be used to register new wrapper types to // the library. Registered wrappers will be encoded using their own // Go type when an error is encoded. Wrappers that have not been @@ -295,6 +383,33 @@ var leafEncoders = map[TypeKey]LeafEncoder{} // or a different type, ensure that RegisterTypeMigration() was called // prior to RegisterWrapperEncoder(). func RegisterWrapperEncoder(theType TypeKey, encoder WrapperEncoder) { + RegisterWrapperEncoderWithMessageType( + theType, + func(ctx context.Context, err error) ( + msgPrefix string, + safeDetails []string, + payload proto.Message, + messageType MessageType, + ) { + prefix, details, payload := encoder(ctx, err) + return prefix, details, payload, messageType + }) +} + +// RegisterWrapperEncoderWithMessageType can be used to register +// new wrapper types to the library. Registered wrappers will be +// encoded using their own Go type when an error is encoded. Wrappers +// that have not been registered will be encoded using the +// opaqueWrapper type. +// +// This function differs from RegisterWrapperEncoder by allowing the +// caller to explicitly decide whether the wrapper owns the entire +// error message or not. Otherwise, the relationship is inferred. +// +// Note: if the error type has been migrated from a previous location +// or a different type, ensure that RegisterTypeMigration() was called +// prior to RegisterWrapperEncoder(). +func RegisterWrapperEncoderWithMessageType(theType TypeKey, encoder WrapperEncoderWithMessageType) { if encoder == nil { delete(encoders, theType) } else { @@ -304,7 +419,42 @@ func RegisterWrapperEncoder(theType TypeKey, encoder WrapperEncoder) { // WrapperEncoder is to be provided (via RegisterWrapperEncoder above) // by additional wrapper types not yet known to this library. -type WrapperEncoder = func(ctx context.Context, err error) (msgPrefix string, safeDetails []string, payload proto.Message) +type WrapperEncoder func(ctx context.Context, err error) ( + msgPrefix string, + safeDetails []string, + payload proto.Message, +) + +// MessageType is used to encode information about an error message +// within a wrapper error type. This information is used to affect +// display logic. +type MessageType errorspb.MessageType + +// Values below should match the ones in errorspb.MessageType for +// direct conversion. +const ( + // Prefix denotes an error message that should be prepended to the + // message of its cause. + Prefix MessageType = MessageType(errorspb.MessageType_PREFIX) + // FullMessage denotes an error message that contains the text of its + // causes and can be displayed standalone. + FullMessage = MessageType(errorspb.MessageType_FULL_MESSAGE) +) + +// WrapperEncoderWithMessageType is to be provided (via +// RegisterWrapperEncoderWithMessageType above) by additional wrapper +// types not yet known to this library. This encoder returns an +// additional enum which indicates whether the wrapper owns the error +// message completely instead of simply being a prefix with the error +// message of its causes appended to it. This information is encoded +// along with the prefix in order to provide context during error +// display. +type WrapperEncoderWithMessageType func(ctx context.Context, err error) ( + msgPrefix string, + safeDetails []string, + payload proto.Message, + messageType MessageType, +) // registry for RegisterWrapperType. -var encoders = map[TypeKey]WrapperEncoder{} +var encoders = map[TypeKey]WrapperEncoderWithMessageType{} diff --git a/errbase/err_string_ownership_test.go b/errbase/err_string_ownership_test.go new file mode 100644 index 0000000..6399557 --- /dev/null +++ b/errbase/err_string_ownership_test.go @@ -0,0 +1,105 @@ +// Copyright 2023 The Cockroach Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. + +package errbase_test + +import ( + "context" + goErr "errors" + "fmt" + "testing" + + "github.com/cockroachdb/errors/errbase" + "github.com/cockroachdb/errors/errorspb" + "github.com/cockroachdb/errors/testutils" +) + +func genEncoded(mt errorspb.MessageType) errorspb.EncodedError { + return errorspb.EncodedError{ + Error: &errorspb.EncodedError_Wrapper{ + Wrapper: &errorspb.EncodedWrapper{ + Cause: errorspb.EncodedError{ + Error: &errorspb.EncodedError_Leaf{ + Leaf: &errorspb.EncodedErrorLeaf{ + Message: "leaf-error-msg", + }, + }, + }, + Message: "wrapper-error-msg: leaf-error-msg: extra info", + Details: errorspb.EncodedErrorDetails{}, + MessageType: mt, + }, + }, + } +} + +func TestDecodeOldVersion(t *testing.T) { + tt := testutils.T{T: t} + + errOldEncoded := genEncoded(errorspb.MessageType_PREFIX) + errOldDecoded := errbase.DecodeError(context.Background(), errOldEncoded) + // Ensure that we will continue to just concat leaf after wrapper + // with older errors for backward compatibility. + tt.CheckEqual(errOldDecoded.Error(), "wrapper-error-msg: leaf-error-msg: extra info: leaf-error-msg") + + // Check to ensure that when flag is present, we interpret things correctly. + errNewEncoded := genEncoded(errorspb.MessageType_FULL_MESSAGE) + errNewDecoded := errbase.DecodeError(context.Background(), errNewEncoded) + tt.CheckEqual(errNewDecoded.Error(), "wrapper-error-msg: leaf-error-msg: extra info") +} + +func TestEncodeDecodeNewVersion(t *testing.T) { + tt := testutils.T{T: t} + errNewEncoded := errbase.EncodeError( + context.Background(), + fmt.Errorf( + "wrapper-error-msg: %w: extra info", + goErr.New("leaf-error-msg"), + ), + ) + + errNew := errorspb.EncodedError{ + Error: &errorspb.EncodedError_Wrapper{ + Wrapper: &errorspb.EncodedWrapper{ + Cause: errorspb.EncodedError{ + Error: &errorspb.EncodedError_Leaf{ + Leaf: &errorspb.EncodedErrorLeaf{ + Message: "leaf-error-msg", + Details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "errors/*errors.errorString", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName: "errors/*errors.errorString", Extension: ""}, + ReportablePayload: nil, + FullDetails: nil, + }, + }, + }, + }, + Message: "wrapper-error-msg: leaf-error-msg: extra info", + Details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName: "fmt/*fmt.wrapError", Extension: ""}, + ReportablePayload: nil, + FullDetails: nil, + }, + MessageType: errorspb.MessageType_FULL_MESSAGE, + }, + }, + } + + tt.CheckDeepEqual(errNewEncoded, errNew) + newErr := errbase.DecodeError(context.Background(), errNew) + + // New version correctly decodes error + tt.CheckEqual(newErr.Error(), "wrapper-error-msg: leaf-error-msg: extra info") +} diff --git a/errbase/format_error.go b/errbase/format_error.go index 534db08..4b4602c 100644 --- a/errbase/format_error.go +++ b/errbase/format_error.go @@ -102,7 +102,13 @@ func formatErrorInternal(err error, s fmt.State, verb rune, redactableOutput boo // to enable stack trace de-duplication. This requires a // post-order traversal. Since we have a linked list, the best we // can do is a recursion. - p.formatRecursive(err, true /* isOutermost */, true /* withDetail */) + p.formatRecursive( + err, + true, /* isOutermost */ + true, /* withDetail */ + false, /* withDepth */ + 0, /* depth */ + ) // We now have all the data, we can render the result. p.formatEntries(err) @@ -146,7 +152,13 @@ func formatErrorInternal(err error, s fmt.State, verb rune, redactableOutput boo // by calling FormatError(), in which case we'd get an infinite // recursion. So we have no choice but to peel the data // and then assemble the pieces ourselves. - p.formatRecursive(err, true /* isOutermost */, false /* withDetail */) + p.formatRecursive( + err, + true, /* isOutermost */ + false, /* withDetail */ + false, /* withDepth */ + 0, /* depth */ + ) p.formatSingleLineOutput() p.finishDisplay(verb) @@ -195,7 +207,19 @@ func (s *state) formatEntries(err error) { // Wraps: (N)
// for i, j := len(s.entries)-2, 2; i >= 0; i, j = i-1, j+1 { - fmt.Fprintf(&s.finalBuf, "\nWraps: (%d)", j) + s.finalBuf.WriteByte('\n') + // Extra indentation starts at depth==2 because the direct + // children of the root error area already printed on separate + // newlines. + for m := 0; m < s.entries[i].depth-1; m += 1 { + if m == s.entries[i].depth-2 { + s.finalBuf.WriteString("└─ ") + } else { + s.finalBuf.WriteByte(' ') + s.finalBuf.WriteByte(' ') + } + } + fmt.Fprintf(&s.finalBuf, "Wraps: (%d)", j) entry := s.entries[i] s.printEntry(entry) } @@ -278,8 +302,9 @@ func (s *state) printEntry(entry formatEntry) { // // This function is used both when FormatError() is called indirectly // from .Error(), e.g. in: -// (e *myType) Error() { return fmt.Sprintf("%v", e) } -// (e *myType) Format(s fmt.State, verb rune) { errors.FormatError(s, verb, e) } +// +// (e *myType) Error() { return fmt.Sprintf("%v", e) } +// (e *myType) Format(s fmt.State, verb rune) { errors.FormatError(s, verb, e) } // // and also to print the first line in the output of a %+v format. // @@ -329,12 +354,34 @@ func (s *state) formatSingleLineOutput() { // s.finalBuf is untouched. The conversion of s.entries // to s.finalBuf is done by formatSingleLineOutput() and/or // formatEntries(). -func (s *state) formatRecursive(err error, isOutermost, withDetail bool) { +// +// `withDepth` and `depth` are used to tag subtrees of multi-cause +// errors for added indentation during printing. Once a multi-cause +// error is encountered, all subsequent calls with set `withDepth` to +// true, and increment `depth` during recursion. This information is +// persisted into the generated entries and used later to display the +// error with increased indentation based in the depth. +func (s *state) formatRecursive(err error, isOutermost, withDetail, withDepth bool, depth int) int { cause := UnwrapOnce(err) + numChildren := 0 if cause != nil { - // Recurse first. - s.formatRecursive(cause, false /*isOutermost*/, withDetail) + // Recurse first, which populates entries list starting from innermost + // entry. If we've previously seen a multi-cause wrapper, `withDepth` + // will be true, and we'll record the depth below ensuring that extra + // indentation is applied to this inner cause during printing. + // Otherwise, we maintain "straight" vertical formatting by keeping the + // parent callers `withDepth` value of `false` by default. + numChildren += s.formatRecursive(cause, false, withDetail, withDepth, depth+1) + } + + causes := UnwrapMulti(err) + for _, c := range causes { + // Override `withDepth` to true for all child entries ensuring they have + // indentation applied during formatting to distinguish them from + // parents. + numChildren += s.formatRecursive(c, false, withDetail, true, depth+1) } + // inserted := len(s.entries) - 1 - startChildren // Reinitialize the state for this stage of wrapping. s.wantDetail = withDetail @@ -349,75 +396,94 @@ func (s *state) formatRecursive(err error, isOutermost, withDetail bool) { bufIsRedactable := false - printDone := false - for _, fn := range specialCases { - if handled, desiredShortening := fn(err, (*safePrinter)(s), cause == nil /* leaf */); handled { - printDone = true - bufIsRedactable = true - if desiredShortening == nil { - // The error wants to elide the short messages from inner - // causes. Do it. - for i := range s.entries { - s.entries[i].elideShort = true - } - } - break + switch v := err.(type) { + case SafeFormatter: + bufIsRedactable = true + desiredShortening := v.SafeFormatError((*safePrinter)(s)) + if desiredShortening == nil { + // The error wants to elide the short messages from inner causes. + // Read backwards through list of entries up to the number of new + // entries created "under" this one amount and mark `elideShort` + // true. + s.elideShortChildren(numChildren) } - } - if !printDone { - switch v := err.(type) { - case SafeFormatter: - bufIsRedactable = true - desiredShortening := v.SafeFormatError((*safePrinter)(s)) - if desiredShortening == nil { - // The error wants to elide the short messages from inner - // causes. Do it. - for i := range s.entries { - s.entries[i].elideShort = true - } - } - case Formatter: - desiredShortening := v.FormatError((*printer)(s)) - if desiredShortening == nil { + case Formatter: + desiredShortening := v.FormatError((*printer)(s)) + if desiredShortening == nil { + // The error wants to elide the short messages from inner + // causes. Do it. + s.elideShortChildren(numChildren) + } + + case fmt.Formatter: + // We can only use a fmt.Formatter when both the following + // conditions are true: + // - when it is the leaf error, because a fmt.Formatter + // on a wrapper also recurses. + // - when it is not the outermost wrapper, because + // the Format() method is likely to be calling FormatError() + // to do its job and we want to avoid an infinite recursion. + if !isOutermost && cause == nil { + v.Format(s, 'v') + if st, ok := err.(StackTraceProvider); ok { + // This is likely a leaf error from github/pkg/errors. + // The thing probably printed its stack trace on its own. + seenTrace = true + // We'll subsequently simplify stack traces in wrappers. + s.lastStack = st.StackTrace() + } + } else { + if elideCauseMsg := s.formatSimple(err, cause); elideCauseMsg { // The error wants to elide the short messages from inner // causes. Do it. - for i := range s.entries { - s.entries[i].elideShort = true - } + s.elideShortChildren(numChildren) } + } - case fmt.Formatter: - // We can only use a fmt.Formatter when both the following - // conditions are true: - // - when it is the leaf error, because a fmt.Formatter - // on a wrapper also recurses. - // - when it is not the outermost wrapper, because - // the Format() method is likely to be calling FormatError() - // to do its job and we want to avoid an infinite recursion. - if !isOutermost && cause == nil { - v.Format(s, 'v') - if st, ok := err.(StackTraceProvider); ok { - // This is likely a leaf error from github/pkg/errors. - // The thing probably printed its stack trace on its own. - seenTrace = true - // We'll subsequently simplify stack traces in wrappers. - s.lastStack = st.StackTrace() + default: + // Handle the special case overrides for context.Canceled, + // os.PathError, etc for which we know how to extract some safe + // strings. + // + // We need to do this in the `default` branch, instead of doing + // this above the switch, because the special handler could call a + // .Error() that delegates its implementation to fmt.Formatter, + // errors.Safeformatter or errors.Formattable, which brings us + // back to this method in a call cycle. So we need to handle the + // various interfaces first. + printDone := false + for _, fn := range specialCases { + if handled, desiredShortening := fn(err, (*safePrinter)(s), cause == nil /* leaf */); handled { + printDone = true + bufIsRedactable = true + if desiredShortening == nil { + // The error wants to elide the short messages from inner + // causes. Do it. + s.elideShortChildren(numChildren) } - } else { - s.formatSimple(err, cause) + break } - - default: + } + if !printDone { // If the error did not implement errors.Formatter nor // fmt.Formatter, but it is a wrapper, still attempt best effort: // print what we can at this level. - s.formatSimple(err, cause) + elideChildren := s.formatSimple(err, cause) + // always elideChildren when dealing with multi-cause errors. + if len(causes) > 0 { + elideChildren = true + } + if elideChildren { + // The error wants to elide the short messages from inner + // causes. Do it. + s.elideShortChildren(numChildren) + } } } // Collect the result. - entry := s.collectEntry(err, bufIsRedactable) + entry := s.collectEntry(err, bufIsRedactable, withDepth, depth) // If there's an embedded stack trace, also collect it. // This will get either a stack from pkg/errors, or ours. @@ -431,9 +497,22 @@ func (s *state) formatRecursive(err error, isOutermost, withDetail bool) { // Remember the entry for later rendering. s.entries = append(s.entries, entry) s.buf = bytes.Buffer{} + + return numChildren + 1 +} + +// elideShortChildren takes a number of entries to set `elideShort` to +// false. The reason a number of entries is needed is that we may be +// eliding a subtree of causes in the case of a multi-cause error. In +// the multi-cause case, we need to know how many of the prior errors +// in the list of entries is a child of this subtree. +func (s *state) elideShortChildren(newEntries int) { + for i := 0; i < newEntries; i++ { + s.entries[len(s.entries)-1-i].elideShort = true + } } -func (s *state) collectEntry(err error, bufIsRedactable bool) formatEntry { +func (s *state) collectEntry(err error, bufIsRedactable bool, withDepth bool, depth int) formatEntry { entry := formatEntry{err: err} if s.wantDetail { // The buffer has been populated as a result of formatting with @@ -470,6 +549,10 @@ func (s *state) collectEntry(err error, bufIsRedactable bool) formatEntry { } } + if withDepth { + entry.depth = depth + } + return entry } @@ -490,16 +573,23 @@ func RegisterSpecialCasePrinter(fn safeErrorPrinterFn) { // formatSimple performs a best effort at extracting the details at a // given level of wrapping when the error object does not implement // the Formatter interface. -func (s *state) formatSimple(err, cause error) { +// Returns true if we want to elide errors from causal chain. +func (s *state) formatSimple(err, cause error) bool { var pref string + elideCauses := false if cause != nil { - pref = extractPrefix(err, cause) + var messageType MessageType + pref, messageType = extractPrefix(err, cause) + if messageType == FullMessage { + elideCauses = true + } } else { pref = err.Error() } if len(pref) > 0 { s.Write([]byte(pref)) } + return elideCauses } // finishDisplay renders s.finalBuf into s.State. @@ -558,7 +648,7 @@ type state struct { // entries collect the result of formatRecursive(). They are // consumed by formatSingleLineOutput() and formatEntries() to - // procude the contents of finalBuf. + // produce the contents of finalBuf. entries []formatEntry // buf collects the details of the current error object at a given @@ -680,6 +770,11 @@ type formatEntry struct { // truncated to avoid duplication of entries. This is used to // display a truncation indicator during verbose rendering. elidedStackTrace bool + + // depth, if positive, represents a nesting depth of this error as + // a causer of others. This is used with verbose printing to + // illustrate the nesting depth for multi-cause error wrappers. + depth int } // String is used for debugging only. @@ -701,6 +796,12 @@ func (s *state) Write(b []byte) (n int, err error) { for i, c := range b { if c == '\n' { + //if s.needNewline > 0 { + // for i := 0; i < s.needNewline-1; i++ { + // s.buf.Write(detailSep[:len(sep)-1]) + // } + // s.needNewline = 0 + //} // Flush all the bytes seen so far. s.buf.Write(b[k:i]) // Don't print the newline itself; instead, prepare the state so @@ -730,6 +831,11 @@ func (s *state) Write(b []byte) (n int, err error) { s.notEmpty = true } } + //if s.needNewline > 0 { + // for i := 0; i < s.needNewline-1; i++ { + // s.buf.Write(detailSep[:len(sep)-1]) + // } + //} s.buf.Write(b[k:]) return len(b), nil } @@ -756,6 +862,9 @@ func (p *state) switchOver() { p.buf = bytes.Buffer{} p.notEmpty = false p.hasDetail = true + + // One of the newlines is accounted for in the switch over. + // p.needNewline -= 1 } func (s *printer) Detail() bool { @@ -819,7 +928,7 @@ func (s *safePrinter) enhanceArgs(args []interface{}) { args[i] = redact.Safe(thisStack) lastSeen = st } - // In contrast with (*printer).enhanceArgs(), we dont use a + // In contrast with (*printer).enhanceArgs(), we don't use a // special case for `error` here, because the redact package // already helps us recursing into a safe print for // error objects. diff --git a/errbase/format_error_internal_test.go b/errbase/format_error_internal_test.go index 0e4f93e..be00290 100644 --- a/errbase/format_error_internal_test.go +++ b/errbase/format_error_internal_test.go @@ -15,11 +15,292 @@ package errbase import ( + goErr "errors" + "fmt" + "strings" "testing" "github.com/cockroachdb/redact" ) +type wrapMini struct { + msg string + cause error +} + +func (e *wrapMini) Error() string { + return e.msg +} + +func (e *wrapMini) Unwrap() error { + return e.cause +} + +type wrapElideCauses struct { + override string + causes []error +} + +func NewWrapElideCauses(override string, errors ...error) error { + return &wrapElideCauses{ + override: override, + causes: errors, + } +} + +func (e *wrapElideCauses) Unwrap() []error { + return e.causes +} + +func (e *wrapElideCauses) SafeFormatError(p Printer) (next error) { + p.Print(e.override) + // Returning nil elides errors from remaining causal chain in the + // implementation of `formatErrorInternal`. + return nil +} + +var _ SafeFormatter = &wrapElideCauses{} + +func (e *wrapElideCauses) Error() string { + b := strings.Builder{} + b.WriteString(e.override) + b.WriteString(": ") + for i, ee := range e.causes { + b.WriteString(ee.Error()) + if i < len(e.causes)-1 { + b.WriteByte(' ') + } + } + return b.String() +} + +type wrapNoElideCauses struct { + prefix string + causes []error +} + +func NewWrapNoElideCauses(prefix string, errors ...error) error { + return &wrapNoElideCauses{ + prefix: prefix, + causes: errors, + } +} + +func (e *wrapNoElideCauses) Unwrap() []error { + return e.causes +} + +func (e *wrapNoElideCauses) SafeFormatError(p Printer) (next error) { + p.Print(e.prefix) + return e.causes[0] +} + +var _ SafeFormatter = &wrapNoElideCauses{} + +func (e *wrapNoElideCauses) Error() string { + b := strings.Builder{} + b.WriteString(e.prefix) + b.WriteString(": ") + for i, ee := range e.causes { + b.WriteString(ee.Error()) + if i < len(e.causes)-1 { + b.WriteByte(' ') + } + } + return b.String() +} + +// TestFormatErrorInternal attempts to highlight some idiosyncrasies of +// the error formatting especially when used with multi-cause error +// structures. Comments on specific cases below outline some gaps that +// still require formatting tweaks. +func TestFormatErrorInternal(t *testing.T) { + tests := []struct { + name string + err error + expectedSimple string + expectedVerbose string + }{ + { + name: "single wrapper", + err: fmt.Errorf("%w", fmt.Errorf("a%w", goErr.New("b"))), + expectedSimple: "ab", + expectedVerbose: `ab +(1) +Wraps: (2) ab +Wraps: (3) b +Error types: (1) *fmt.wrapError (2) *fmt.wrapError (3) *errors.errorString`, + }, + { + name: "simple multi-wrapper", + err: goErr.Join(goErr.New("a"), goErr.New("b")), + expectedSimple: "a\nb", + // TODO(davidh): verbose test case should have line break + // between `a` and `b` on second line. + expectedVerbose: `a +(1) ab +Wraps: (2) b +Wraps: (3) a +Error types: (1) *errors.joinError (2) *errors.errorString (3) *errors.errorString`, + }, + { + name: "multi-wrapper with custom formatter and partial elide", + err: NewWrapNoElideCauses("A", + NewWrapNoElideCauses("C", goErr.New("3"), goErr.New("4")), + NewWrapElideCauses("B", goErr.New("1"), goErr.New("2")), + ), + expectedSimple: `A: B: C: 4: 3`, // 1 and 2 omitted because they are elided. + expectedVerbose: `A: B: C: 4: 3 +(1) A +Wraps: (2) B +└─ Wraps: (3) 2 +└─ Wraps: (4) 1 +Wraps: (5) C +└─ Wraps: (6) 4 +└─ Wraps: (7) 3 +Error types: (1) *errbase.wrapNoElideCauses (2) *errbase.wrapElideCauses (3) *errors.errorString (4) *errors.errorString (5) *errbase.wrapNoElideCauses (6) *errors.errorString (7) *errors.errorString`, + }, + { + name: "multi-wrapper with custom formatter and no elide", + // All errors in this example omit eliding their children. + err: NewWrapNoElideCauses("A", + NewWrapNoElideCauses("B", goErr.New("1"), goErr.New("2")), + NewWrapNoElideCauses("C", goErr.New("3"), goErr.New("4")), + ), + expectedSimple: `A: C: 4: 3: B: 2: 1`, + expectedVerbose: `A: C: 4: 3: B: 2: 1 +(1) A +Wraps: (2) C +└─ Wraps: (3) 4 +└─ Wraps: (4) 3 +Wraps: (5) B +└─ Wraps: (6) 2 +└─ Wraps: (7) 1 +Error types: (1) *errbase.wrapNoElideCauses (2) *errbase.wrapNoElideCauses (3) *errors.errorString (4) *errors.errorString (5) *errbase.wrapNoElideCauses (6) *errors.errorString (7) *errors.errorString`, + }, + { + name: "simple multi-line error", + err: goErr.New("a\nb\nc\nd"), + expectedSimple: "a\nb\nc\nd", + // TODO(davidh): verbose test case should preserve all 3 + // linebreaks in original error. + expectedVerbose: `a +(1) ab + | + | c + | d +Error types: (1) *errors.errorString`, + }, + { + name: "two-level multi-wrapper", + err: goErr.Join( + goErr.Join(goErr.New("a"), goErr.New("b")), + goErr.Join(goErr.New("c"), goErr.New("d")), + ), + expectedSimple: "a\nb\nc\nd", + // TODO(davidh): verbose output should preserve line breaks after (1) + // and also after (2) and (5) in `c\nd` and `a\nb`. + expectedVerbose: `a +(1) ab + | + | c + | d +Wraps: (2) cd +└─ Wraps: (3) d +└─ Wraps: (4) c +Wraps: (5) ab +└─ Wraps: (6) b +└─ Wraps: (7) a +Error types: (1) *errors.joinError (2) *errors.joinError (3) *errors.errorString (4) *errors.errorString (5) *errors.joinError (6) *errors.errorString (7) *errors.errorString`, + }, + { + name: "simple multi-wrapper with single-cause chains inside", + err: goErr.Join( + fmt.Errorf("a%w", goErr.New("b")), + fmt.Errorf("c%w", goErr.New("d")), + ), + expectedSimple: "ab\ncd", + expectedVerbose: `ab +(1) ab + | cd +Wraps: (2) cd +└─ Wraps: (3) d +Wraps: (4) ab +└─ Wraps: (5) b +Error types: (1) *errors.joinError (2) *fmt.wrapError (3) *errors.errorString (4) *fmt.wrapError (5) *errors.errorString`, + }, + { + name: "multi-cause wrapper with single-cause chains inside", + err: goErr.Join( + fmt.Errorf("a%w", fmt.Errorf("b%w", fmt.Errorf("c%w", goErr.New("d")))), + fmt.Errorf("e%w", fmt.Errorf("f%w", fmt.Errorf("g%w", goErr.New("h")))), + ), + expectedSimple: `abcd +efgh`, + expectedVerbose: `abcd +(1) abcd + | efgh +Wraps: (2) efgh +└─ Wraps: (3) fgh + └─ Wraps: (4) gh + └─ Wraps: (5) h +Wraps: (6) abcd +└─ Wraps: (7) bcd + └─ Wraps: (8) cd + └─ Wraps: (9) d +Error types: (1) *errors.joinError (2) *fmt.wrapError (3) *fmt.wrapError (4) *fmt.wrapError (5) *errors.errorString (6) *fmt.wrapError (7) *fmt.wrapError (8) *fmt.wrapError (9) *errors.errorString`}, + { + name: "single cause chain with multi-cause wrapper inside with single-cause chains inside", + err: fmt.Errorf( + "prefix1: %w", + fmt.Errorf( + "prefix2: %w", + goErr.Join( + fmt.Errorf("a%w", fmt.Errorf("b%w", fmt.Errorf("c%w", goErr.New("d")))), + fmt.Errorf("e%w", fmt.Errorf("f%w", fmt.Errorf("g%w", goErr.New("h")))), + ))), + expectedSimple: `prefix1: prefix2: abcd +efgh`, + expectedVerbose: `prefix1: prefix2: abcd +(1) prefix1 +Wraps: (2) prefix2 +Wraps: (3) abcd + | efgh + └─ Wraps: (4) efgh + └─ Wraps: (5) fgh + └─ Wraps: (6) gh + └─ Wraps: (7) h + └─ Wraps: (8) abcd + └─ Wraps: (9) bcd + └─ Wraps: (10) cd + └─ Wraps: (11) d +Error types: (1) *fmt.wrapError (2) *fmt.wrapError (3) *errors.joinError (4) *fmt.wrapError (5) *fmt.wrapError (6) *fmt.wrapError (7) *errors.errorString (8) *fmt.wrapError (9) *fmt.wrapError (10) *fmt.wrapError (11) *errors.errorString`, + }, + { + name: "test wrapMini elides cause error string", + err: &wrapMini{"whoa: d", goErr.New("d")}, + expectedSimple: "whoa: d", + expectedVerbose: `whoa: d +(1) whoa +Wraps: (2) d +Error types: (1) *errbase.wrapMini (2) *errors.errorString`, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + fe := Formattable(tt.err) + s := fmt.Sprintf("%s", fe) + if s != tt.expectedSimple { + t.Errorf("\nexpected: \n%s\nbut got:\n%s\n", tt.expectedSimple, s) + } + s = fmt.Sprintf("%+v", fe) + if s != tt.expectedVerbose { + t.Errorf("\nexpected: \n%s\nbut got:\n%s\n", tt.expectedVerbose, s) + } + }) + } +} + func TestPrintEntry(t *testing.T) { b := func(s string) []byte { return []byte(s) } diff --git a/errbase/format_simple.go b/errbase/format_simple.go deleted file mode 100644 index 31b85f9..0000000 --- a/errbase/format_simple.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2019 The Cockroach Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -// implied. See the License for the specific language governing -// permissions and limitations under the License. - -package errbase - -import "io" - -// formatSimpleError is a helper used by FormatError() for the top -// level error/wrapper argument, if it does not implement the -// errors.Formatter interface. -func formatSimpleError(err error, p *state, sep string) error { - if cause := UnwrapOnce(err); cause != nil { - pref := extractPrefix(err, cause) - p.buf.WriteString(pref) - if pref != "" { - p.buf.WriteByte(':') - p.buf.WriteString(sep) - } - err = cause - } else { - io.WriteString(&p.buf, err.Error()) - err = nil - } - return err -} diff --git a/errbase/opaque.go b/errbase/opaque.go index 81ca032..cd9b38a 100644 --- a/errbase/opaque.go +++ b/errbase/opaque.go @@ -30,19 +30,39 @@ type opaqueLeaf struct { details errorspb.EncodedErrorDetails } +// opaqueLeafCauses is used when receiving an unknown multi-cause +// wrapper type. Its important property is that if it is communicated +// back to some network system that _does_ know about the type, the +// original object can be restored. We encode multi-cause errors as +// leaf nodes over the network, in order to support backwards +// compatibility with existing single-cause wrapper messages. +// +// This struct *must* be initialized with a non-nil causes value in +// order to comply with go stdlib expectations for `Unwrap()`. +type opaqueLeafCauses struct { + opaqueLeaf + causes []error +} + var _ error = (*opaqueLeaf)(nil) var _ SafeDetailer = (*opaqueLeaf)(nil) var _ fmt.Formatter = (*opaqueLeaf)(nil) var _ SafeFormatter = (*opaqueLeaf)(nil) +var _ error = (*opaqueLeafCauses)(nil) +var _ SafeDetailer = (*opaqueLeafCauses)(nil) +var _ fmt.Formatter = (*opaqueLeafCauses)(nil) +var _ SafeFormatter = (*opaqueLeafCauses)(nil) + // opaqueWrapper is used when receiving an unknown wrapper type. // Its important property is that if it is communicated // back to some network system that _does_ know about // the type, the original object can be restored. type opaqueWrapper struct { - cause error - prefix string - details errorspb.EncodedErrorDetails + cause error + prefix string + details errorspb.EncodedErrorDetails + messageType MessageType } var _ error = (*opaqueWrapper)(nil) @@ -53,6 +73,9 @@ var _ SafeFormatter = (*opaqueWrapper)(nil) func (e *opaqueLeaf) Error() string { return e.msg } func (e *opaqueWrapper) Error() string { + if e.messageType == FullMessage { + return e.prefix + } if e.prefix == "" { return e.cause.Error() } @@ -66,8 +89,12 @@ func (e *opaqueWrapper) Unwrap() error { return e.cause } func (e *opaqueLeaf) SafeDetails() []string { return e.details.ReportablePayload } func (e *opaqueWrapper) SafeDetails() []string { return e.details.ReportablePayload } -func (e *opaqueLeaf) Format(s fmt.State, verb rune) { FormatError(e, s, verb) } -func (e *opaqueWrapper) Format(s fmt.State, verb rune) { FormatError(e, s, verb) } +func (e *opaqueLeaf) Format(s fmt.State, verb rune) { FormatError(e, s, verb) } +func (e *opaqueLeafCauses) Format(s fmt.State, verb rune) { FormatError(e, s, verb) } +func (e *opaqueWrapper) Format(s fmt.State, verb rune) { FormatError(e, s, verb) } + +// opaqueLeafCauses is a multi-cause wrapper +func (e *opaqueLeafCauses) Unwrap() []error { return e.causes } func (e *opaqueLeaf) SafeFormatError(p Printer) (next error) { p.Print(e.msg) @@ -103,5 +130,8 @@ func (e *opaqueWrapper) SafeFormatError(p Printer) (next error) { p.Printf("\npayload type: %s", redact.Safe(e.details.FullDetails.TypeUrl)) } } + if e.messageType == FullMessage { + return nil + } return e.cause } diff --git a/errbase/opaque_test.go b/errbase/opaque_test.go new file mode 100644 index 0000000..68eedf6 --- /dev/null +++ b/errbase/opaque_test.go @@ -0,0 +1,58 @@ +// Copyright 2023 The Cockroach Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. + +package errbase + +import ( + "context" + "errors" + "fmt" + "testing" + + "github.com/cockroachdb/errors/testutils" + "github.com/kr/pretty" +) + +func TestUnknownWrapperTraversalWithMessageOverride(t *testing.T) { + // Simulating scenario where the new field on the opaque wrapper is dropped + // in the middle of the chain by a node running an older version. + + origErr := fmt.Errorf("this is a wrapped err %w with a non-prefix wrap msg", errors.New("hello")) + t.Logf("start err: %# v", pretty.Formatter(origErr)) + + // Encode the error, this will use the encoder. + enc := EncodeError(context.Background(), origErr) + t.Logf("encoded: %# v", pretty.Formatter(enc)) + + newErr := DecodeError(context.Background(), enc) + t.Logf("decoded: %# v", pretty.Formatter(newErr)) + + // simulate node not knowing about `messageType` field + newErr.(*opaqueWrapper).messageType = Prefix + + // Encode it again, to simulate the error passed on to another system. + enc2 := EncodeError(context.Background(), newErr) + t.Logf("encoded2: %# v", pretty.Formatter(enc)) + + // Then decode again. + newErr2 := DecodeError(context.Background(), enc2) + t.Logf("decoded: %# v", pretty.Formatter(newErr2)) + + tt := testutils.T{T: t} + + // We expect to see an erroneous `: hello` because our + // error passes through a node which drops the new protobuf + // field. + tt.CheckEqual(newErr2.Error(), origErr.Error()+": hello") +} diff --git a/errbase/unwrap.go b/errbase/unwrap.go index 031cf7f..bed4c9a 100644 --- a/errbase/unwrap.go +++ b/errbase/unwrap.go @@ -27,6 +27,16 @@ package errbase // It supports both errors implementing causer (`Cause()` method, from // github.com/pkg/errors) and `Wrapper` (`Unwrap()` method, from the // Go 2 error proposal). +// +// UnwrapOnce treats multi-errors (those implementing the +// `Unwrap() []error` interface as leaf-nodes since they cannot +// reasonably be iterated through to a single cause. These errors +// are typically constructed as a result of `fmt.Errorf` which results +// in a `wrapErrors` instance that contains an interpolated error +// string along with a list of causes. +// +// The go stdlib does not define output on `Unwrap()` for a multi-cause +// error, so we default to nil here. func UnwrapOnce(err error) (cause error) { switch e := err.(type) { case interface{ Cause() error }: @@ -39,6 +49,7 @@ func UnwrapOnce(err error) (cause error) { // UnwrapAll accesses the root cause object of the error. // If the error has no cause (leaf error), it is returned directly. +// UnwrapAll treats multi-errors as leaf nodes. func UnwrapAll(err error) error { for { if cause := UnwrapOnce(err); cause != nil { @@ -49,3 +60,12 @@ func UnwrapAll(err error) error { } return err } + +// UnwrapMulti access the slice of causes that an error contains, if it is a +// multi-error. +func UnwrapMulti(err error) []error { + if me, ok := err.(interface{ Unwrap() []error }); ok { + return me.Unwrap() + } + return nil +} diff --git a/errbase/unwrap_test.go b/errbase/unwrap_test.go index 5699f35..725420d 100644 --- a/errbase/unwrap_test.go +++ b/errbase/unwrap_test.go @@ -16,6 +16,7 @@ package errbase_test import ( "errors" + "fmt" "testing" "github.com/cockroachdb/errors/errbase" @@ -58,6 +59,18 @@ func TestMixedErrorWrapping(t *testing.T) { tt.CheckEqual(errbase.UnwrapAll(err3), err) } +func TestMultiErrorUnwrap(t *testing.T) { + tt := testutils.T{T: t} + + err := errors.New("hello") + err2 := pkgErr.WithMessage(err, "woo") + err3 := fmt.Errorf("%w %w", err, err2) + + tt.CheckEqual(errbase.UnwrapOnce(err3), nil) + tt.CheckEqual(errbase.UnwrapAll(err3), err3) + tt.CheckDeepEqual(errbase.UnwrapMulti(err3), []error{err, err2}) +} + type myWrapper struct{ cause error } func (w *myWrapper) Error() string { return w.cause.Error() } diff --git a/errbase_api.go b/errbase_api.go index 3f647e0..da410f9 100644 --- a/errbase_api.go +++ b/errbase_api.go @@ -86,6 +86,20 @@ func GetTypeKey(err error) TypeKey { return errbase.GetTypeKey(err) } // A nil return indicates that decoding was not successful. type LeafDecoder = errbase.LeafDecoder +// MultiCauseDecoder is to be provided (via RegisterMultiCauseDecoder +// above) by additional multi-cause wrapper types not yet known by the +// library. A nil return indicates that decoding was not successful. +type MultiCauseDecoder = errbase.MultiCauseDecoder + +// RegisterMultiCauseDecoder can be used to register new multi-cause +// wrapper types to the library. Registered wrappers will be decoded +// using their own Go type when an error is decoded. Multi-cause +// wrappers that have not been registered will be decoded using the +// opaqueWrapper type. +func RegisterMultiCauseDecoder(theType TypeKey, decoder MultiCauseDecoder) { + errbase.RegisterMultiCauseDecoder(theType, decoder) +} + // RegisterWrapperDecoder can be used to register new wrapper types to // the library. Registered wrappers will be decoded using their own // Go type when an error is decoded. Wrappers that have not been @@ -135,6 +149,41 @@ func RegisterWrapperEncoder(typeName TypeKey, encoder WrapperEncoder) { // by additional wrapper types not yet known to this library. type WrapperEncoder = errbase.WrapperEncoder +// RegisterWrapperEncoderWithMessageType can be used to register new wrapper +// types to the library. These wrappers can optionally override the child error +// messages with their own error string instead of relying on iterative +// concatenation. Registered wrappers will be encoded using their own Go type +// when an error is encoded. Wrappers that have not been registered will be +// encoded using the opaqueWrapper type. +// +// Note: if the error type has been migrated from a previous location +// or a different type, ensure that RegisterTypeMigration() was called +// prior to RegisterWrapperEncoder(). +func RegisterWrapperEncoderWithMessageType(typeName TypeKey, encoder WrapperEncoderWithMessageType) { + errbase.RegisterWrapperEncoderWithMessageType(typeName, encoder) +} + +// WrapperEncoderWithMessageType is to be provided (via +// RegisterWrapperEncoderWithMessageType) by additional wrapper +// types not yet known to this library. +type WrapperEncoderWithMessageType = errbase.WrapperEncoderWithMessageType + +// RegisterMultiCauseEncoder can be used to register new multi-cause +// error types to the library. Registered types will be encoded using +// their own Go type when an error is encoded. Multi-cause wrappers +// that have not been registered will be encoded using the +// opaqueWrapper type. +func RegisterMultiCauseEncoder(typeName TypeKey, encoder MultiCauseEncoder) { + errbase.RegisterMultiCauseEncoder(typeName, encoder) +} + +// MultiCauseEncoder is to be provided (via RegisterMultiCauseEncoder +// above) by additional multi-cause wrapper types not yet known to this +// library. The encoder will automatically extract and encode the +// causes of this error by calling `Unwrap()` and expecting a slice of +// errors. +type MultiCauseEncoder = errbase.MultiCauseEncoder + // SetWarningFn enables configuration of the warning function. func SetWarningFn(fn func(context.Context, string, ...interface{})) { errbase.SetWarningFn(fn) } @@ -185,7 +234,8 @@ func Formattable(err error) fmt.Formatter { return errbase.Formattable(err) } // The value of previousTypeName must be the result of calling // reflect.TypeOf(err).String() on the original error object. // This is usually composed as follows: -// [*]. +// +// [*]. // // For example, Go's standard error type has name "*errors.errorString". // The asterisk indicates that `errorString` implements the `error` diff --git a/errorspb/errors.pb.go b/errorspb/errors.pb.go index 51148d2..3ec6bfe 100644 --- a/errorspb/errors.pb.go +++ b/errorspb/errors.pb.go @@ -24,10 +24,42 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +// MessageType encodes information regarding the interpretation of an +// error's message string. +type MessageType int32 + +const ( + // Keeping zero value as default for backwards compatibility. + // PREFIX is a message that should be prepended to its cause. + MessageType_PREFIX MessageType = 0 + // FULL_MESSAGE is a complete error message that can be displayed + // without its cause. + MessageType_FULL_MESSAGE MessageType = 1 +) + +var MessageType_name = map[int32]string{ + 0: "PREFIX", + 1: "FULL_MESSAGE", +} + +var MessageType_value = map[string]int32{ + "PREFIX": 0, + "FULL_MESSAGE": 1, +} + +func (x MessageType) String() string { + return proto.EnumName(MessageType_name, int32(x)) +} + +func (MessageType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_ddc818d0729874b8, []int{0} +} + // EncodedError is the wire-encodable representation // of an error (or error cause chain). type EncodedError struct { // Types that are valid to be assigned to Error: + // // *EncodedError_Leaf // *EncodedError_Wrapper Error isEncodedError_Error `protobuf_oneof:"error"` @@ -108,7 +140,7 @@ func (*EncodedError) XXX_OneofWrappers() []interface{} { } // EncodedErrorLeaf is the wire-encodable representation -// of an error leaf. +// of an error leaf or a multi-cause wrapper from go 1.20+ type EncodedErrorLeaf struct { // The main error message (mandatory), that can be printed to human // users and may contain PII. This contains the value of the leaf @@ -116,6 +148,11 @@ type EncodedErrorLeaf struct { Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // The error details. Details EncodedErrorDetails `protobuf:"bytes,2,opt,name=details,proto3" json:"details"` + // multierror_causes is a list of errors that contain the causal tree + // of this leaf. If this field is not empty, then this leaf encodes + // an error from go 1.20 or later that encodes multiple causes in its + // chain. + MultierrorCauses []*EncodedError `protobuf:"bytes,3,rep,name=multierror_causes,json=multierrorCauses,proto3" json:"multierror_causes,omitempty"` } func (m *EncodedErrorLeaf) Reset() { *m = EncodedErrorLeaf{} } @@ -210,17 +247,23 @@ var xxx_messageInfo_EncodedErrorDetails proto.InternalMessageInfo type EncodedWrapper struct { // The cause error. Mandatory. Cause EncodedError `protobuf:"bytes,1,opt,name=cause,proto3" json:"cause"` - // The wrapper message prefix (which may be empty). This - // isbprinted before the cause's own message when - // constructing a full message. This may contain PII. + // The wrapper message. This could either be a full error message + // that can be printed independently, or a (potentially empty) prefix + // which is printed before the cause's own message to construct the + // full message. This may contain PII. // // This is extracted automatically: // // - for wrappers that have a registered encoder, // - otherwise, when the wrapper's Error() has its cause's Error() as suffix. - MessagePrefix string `protobuf:"bytes,2,opt,name=message_prefix,json=messagePrefix,proto3" json:"message_prefix,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // The error details. Details EncodedErrorDetails `protobuf:"bytes,3,opt,name=details,proto3" json:"details"` + // message_type encodes the interpretation of `message`. Prior + // versions will not set this field and it will be left as `PREFIX`. + // This retains backwards compatibility since the new behavior is + // only enabled when this enum is set to `FULL_MESSAGE`. + MessageType MessageType `protobuf:"varint,4,opt,name=message_type,json=messageType,proto3,enum=cockroach.errorspb.MessageType" json:"message_type,omitempty"` } func (m *EncodedWrapper) Reset() { *m = EncodedWrapper{} } @@ -382,6 +425,7 @@ func (m *ErrnoPayload) XXX_DiscardUnknown() { var xxx_messageInfo_ErrnoPayload proto.InternalMessageInfo func init() { + proto.RegisterEnum("cockroach.errorspb.MessageType", MessageType_name, MessageType_value) proto.RegisterType((*EncodedError)(nil), "cockroach.errorspb.EncodedError") proto.RegisterType((*EncodedErrorLeaf)(nil), "cockroach.errorspb.EncodedErrorLeaf") proto.RegisterType((*EncodedErrorDetails)(nil), "cockroach.errorspb.EncodedErrorDetails") @@ -394,46 +438,51 @@ func init() { func init() { proto.RegisterFile("errorspb/errors.proto", fileDescriptor_ddc818d0729874b8) } var fileDescriptor_ddc818d0729874b8 = []byte{ - // 624 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x41, 0x6f, 0xd3, 0x4c, - 0x10, 0xb5, 0xbf, 0xa4, 0x4d, 0x32, 0x49, 0xfa, 0x95, 0xa5, 0x48, 0x6e, 0x45, 0xdd, 0x34, 0x80, - 0xa8, 0x2a, 0x70, 0x24, 0x38, 0x20, 0x21, 0x84, 0x44, 0x45, 0x45, 0x0f, 0x50, 0x2a, 0x53, 0x09, - 0x89, 0x8b, 0xb5, 0x49, 0xc6, 0xee, 0xaa, 0xb6, 0xd7, 0xda, 0x75, 0x44, 0xfd, 0x2f, 0x90, 0xf8, - 0x3f, 0x9c, 0x7b, 0xec, 0xb1, 0x27, 0x04, 0xa9, 0xf8, 0x17, 0x1c, 0x90, 0x77, 0xbd, 0x6d, 0x0a, - 0x15, 0x3d, 0x70, 0x1b, 0xbf, 0x79, 0xe3, 0xf7, 0x3c, 0x6f, 0x0c, 0xb7, 0x50, 0x08, 0x2e, 0x64, - 0x36, 0x1c, 0xe8, 0xc2, 0xcb, 0x04, 0xcf, 0x39, 0x21, 0x23, 0x3e, 0x3a, 0x14, 0x9c, 0x8e, 0x0e, - 0x3c, 0x43, 0x58, 0x59, 0x8e, 0x38, 0x8f, 0x62, 0x1c, 0x28, 0xc6, 0x70, 0x12, 0x0e, 0x68, 0x5a, - 0x68, 0xfa, 0xca, 0x52, 0xc4, 0x23, 0xae, 0xca, 0x41, 0x59, 0x69, 0xb4, 0xff, 0xd9, 0x86, 0xce, - 0x76, 0x3a, 0xe2, 0x63, 0x1c, 0x6f, 0x97, 0x2f, 0x21, 0x4f, 0xa1, 0x1e, 0x23, 0x0d, 0x1d, 0xbb, - 0x67, 0x6f, 0xb4, 0x1f, 0xdd, 0xf5, 0xfe, 0x14, 0xf1, 0x66, 0xf9, 0xaf, 0x91, 0x86, 0x3b, 0x96, - 0xaf, 0x66, 0xc8, 0x73, 0x68, 0x7c, 0x14, 0x34, 0xcb, 0x50, 0x38, 0xff, 0xa9, 0xf1, 0xfe, 0x5f, - 0xc6, 0xdf, 0x6b, 0xe6, 0x8e, 0xe5, 0x9b, 0xa1, 0xad, 0x06, 0xcc, 0x29, 0x56, 0x7f, 0x02, 0x8b, - 0xbf, 0x8b, 0x10, 0x07, 0x1a, 0x09, 0x4a, 0x49, 0x23, 0x54, 0xde, 0x5a, 0xbe, 0x79, 0x24, 0xaf, - 0xa0, 0x31, 0xc6, 0x9c, 0xb2, 0x58, 0x56, 0xb2, 0xf7, 0xaf, 0x73, 0xfd, 0x52, 0xd3, 0xb7, 0xea, - 0xc7, 0x5f, 0xd7, 0x2c, 0xdf, 0x4c, 0xf7, 0x7f, 0xda, 0x70, 0xf3, 0x0a, 0x1a, 0x79, 0x00, 0x84, - 0x0b, 0x16, 0xb1, 0x94, 0xc6, 0x41, 0x5e, 0x64, 0x18, 0xa4, 0x34, 0x31, 0x2e, 0x16, 0x4d, 0x67, - 0xbf, 0xc8, 0x70, 0x97, 0x26, 0x48, 0xde, 0xc2, 0xff, 0x4a, 0x54, 0x53, 0x13, 0x2a, 0x0e, 0x2b, - 0x5b, 0xeb, 0x57, 0xda, 0x2a, 0x8b, 0x72, 0xf6, 0x0d, 0x15, 0x87, 0x95, 0xa1, 0x2e, 0xce, 0x82, - 0xe4, 0x21, 0x10, 0x81, 0x19, 0x17, 0x39, 0x1d, 0xc6, 0x18, 0x64, 0xb4, 0x88, 0x39, 0x1d, 0x3b, - 0xb5, 0x5e, 0x6d, 0xa3, 0xe5, 0xdf, 0xb8, 0xe8, 0xec, 0xe9, 0x06, 0x79, 0x02, 0x9d, 0x70, 0x12, - 0xc7, 0x81, 0xd9, 0x49, 0x5d, 0x89, 0x2f, 0x79, 0xfa, 0x34, 0x3c, 0x73, 0x1a, 0xde, 0x8b, 0xb4, - 0xf0, 0xdb, 0x25, 0xb3, 0xfa, 0xcc, 0xfe, 0x17, 0x1b, 0x16, 0x2e, 0x87, 0x43, 0x9e, 0xc1, 0xdc, - 0x88, 0x4e, 0x24, 0x56, 0xe7, 0xd0, 0xbb, 0x6e, 0xb1, 0xd5, 0x07, 0xe8, 0x21, 0x72, 0x0f, 0x16, - 0xaa, 0x8c, 0x82, 0x4c, 0x60, 0xc8, 0x8e, 0xd4, 0x22, 0x5a, 0x7e, 0xb7, 0x42, 0xf7, 0x14, 0x38, - 0x9b, 0x5f, 0xed, 0x9f, 0xf2, 0xdb, 0x85, 0xee, 0xa5, 0x75, 0x92, 0x35, 0x68, 0x87, 0x34, 0x61, - 0x71, 0x31, 0x9b, 0x18, 0x68, 0x48, 0x65, 0x75, 0x1b, 0x5a, 0x78, 0x94, 0x63, 0x2a, 0x19, 0x4f, - 0x2b, 0x73, 0x17, 0x40, 0x7f, 0x13, 0x16, 0xde, 0xe5, 0x82, 0xa5, 0x91, 0x34, 0xbb, 0x75, 0x2e, - 0xac, 0xda, 0x6a, 0xff, 0xe7, 0xda, 0x3f, 0xca, 0x1f, 0x49, 0x88, 0x94, 0x1b, 0xea, 0x2a, 0x40, - 0x79, 0x1a, 0x01, 0x96, 0xa0, 0x92, 0xae, 0xf9, 0xad, 0x12, 0x51, 0x2c, 0x42, 0xa0, 0x4e, 0xc5, - 0xe8, 0xa0, 0x12, 0x55, 0x35, 0xb9, 0x03, 0x5d, 0x26, 0x83, 0x0c, 0x45, 0xc2, 0xa4, 0x72, 0x54, - 0xae, 0xa3, 0xe9, 0x77, 0x98, 0xdc, 0x3b, 0xc7, 0xc8, 0x32, 0x34, 0x99, 0x0c, 0xf0, 0x88, 0xc9, - 0x5c, 0x45, 0xdb, 0xf4, 0x1b, 0x4c, 0x6e, 0x97, 0x8f, 0xa4, 0x07, 0x1d, 0x26, 0x83, 0x94, 0xe7, - 0x55, 0x7b, 0x4e, 0xb5, 0x81, 0xc9, 0x5d, 0x9e, 0x6b, 0xc6, 0x2a, 0x00, 0x93, 0x41, 0xce, 0x12, - 0xe4, 0x93, 0xdc, 0x99, 0x57, 0xfd, 0x16, 0x93, 0xfb, 0x1a, 0x20, 0xeb, 0xea, 0x05, 0x39, 0x26, - 0x19, 0x17, 0x54, 0x14, 0x4e, 0x43, 0x11, 0xda, 0x4c, 0xee, 0x1b, 0x68, 0x6b, 0xf3, 0xf8, 0xbb, - 0x6b, 0x1d, 0x4f, 0x5d, 0xfb, 0x64, 0xea, 0xda, 0xa7, 0x53, 0xd7, 0xfe, 0x36, 0x75, 0xed, 0x4f, - 0x67, 0xae, 0x75, 0x72, 0xe6, 0x5a, 0xa7, 0x67, 0xae, 0xf5, 0xa1, 0x69, 0x22, 0x1b, 0xce, 0xab, - 0x5b, 0x7b, 0xfc, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x63, 0x5c, 0xa2, 0x72, 0xc1, 0x04, 0x00, 0x00, + // 693 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x41, 0x4f, 0x13, 0x41, + 0x14, 0xde, 0xa5, 0x85, 0xb6, 0xaf, 0x05, 0xcb, 0x88, 0xc9, 0x42, 0x64, 0x29, 0xab, 0x89, 0x04, + 0x75, 0x9b, 0xe0, 0xc1, 0xc4, 0x18, 0x13, 0xaa, 0x05, 0x4c, 0x28, 0x92, 0x05, 0xa3, 0xf1, 0xb2, + 0x99, 0xb6, 0xd3, 0x65, 0xc2, 0xee, 0xce, 0x66, 0x66, 0x1b, 0xd9, 0x7f, 0x61, 0xe2, 0x5f, 0xf2, + 0xc0, 0x91, 0x23, 0x27, 0xa3, 0x25, 0xfe, 0x04, 0x6f, 0x1e, 0xcc, 0xce, 0xee, 0xd8, 0xa2, 0x28, + 0x07, 0x6f, 0x6f, 0xde, 0xfb, 0xbe, 0xf7, 0xde, 0xf7, 0xde, 0x1b, 0xb8, 0x45, 0x38, 0x67, 0x5c, + 0x44, 0xdd, 0x66, 0x66, 0xd8, 0x11, 0x67, 0x31, 0x43, 0xa8, 0xc7, 0x7a, 0xc7, 0x9c, 0xe1, 0xde, + 0x91, 0xad, 0x00, 0x4b, 0x8b, 0x1e, 0x63, 0x9e, 0x4f, 0x9a, 0x12, 0xd1, 0x1d, 0x0e, 0x9a, 0x38, + 0x4c, 0x32, 0xf8, 0xd2, 0x82, 0xc7, 0x3c, 0x26, 0xcd, 0x66, 0x6a, 0x65, 0x5e, 0xeb, 0xa3, 0x0e, + 0xb5, 0x76, 0xd8, 0x63, 0x7d, 0xd2, 0x6f, 0xa7, 0x49, 0xd0, 0x13, 0x28, 0xfa, 0x04, 0x0f, 0x0c, + 0xbd, 0xa1, 0xaf, 0x55, 0x37, 0xee, 0xda, 0x7f, 0x16, 0xb1, 0x27, 0xf1, 0xbb, 0x04, 0x0f, 0x76, + 0x34, 0x47, 0x72, 0xd0, 0x33, 0x28, 0xbd, 0xe7, 0x38, 0x8a, 0x08, 0x37, 0xa6, 0x24, 0xdd, 0xfa, + 0x07, 0xfd, 0x4d, 0x86, 0xdc, 0xd1, 0x1c, 0x45, 0x6a, 0x95, 0x60, 0x5a, 0xa2, 0xac, 0x4f, 0x3a, + 0xd4, 0x7f, 0xaf, 0x82, 0x0c, 0x28, 0x05, 0x44, 0x08, 0xec, 0x11, 0xd9, 0x5c, 0xc5, 0x51, 0x4f, + 0xb4, 0x0d, 0xa5, 0x3e, 0x89, 0x31, 0xf5, 0x45, 0x5e, 0xf7, 0xde, 0x75, 0x6d, 0xbf, 0xc8, 0xe0, + 0xad, 0xe2, 0xe9, 0xe7, 0x15, 0xcd, 0x51, 0x6c, 0xd4, 0x81, 0xf9, 0x60, 0xe8, 0xc7, 0x54, 0x72, + 0xdc, 0x1e, 0x1e, 0x0a, 0x22, 0x8c, 0x42, 0xa3, 0xb0, 0x56, 0xdd, 0x68, 0x5c, 0x97, 0xd2, 0xa9, + 0x8f, 0xa9, 0xcf, 0x25, 0xd3, 0xfa, 0xa1, 0xc3, 0xcd, 0x2b, 0xaa, 0xa2, 0x07, 0x80, 0x18, 0xa7, + 0x1e, 0x0d, 0xb1, 0xef, 0xc6, 0x49, 0x44, 0xdc, 0x10, 0x07, 0x4a, 0x54, 0x5d, 0x45, 0x0e, 0x93, + 0x88, 0xec, 0xe1, 0x80, 0xa0, 0x57, 0x70, 0x23, 0xeb, 0x47, 0x42, 0x03, 0xcc, 0x8f, 0x73, 0x95, + 0xab, 0x57, 0xb6, 0x94, 0x1a, 0x29, 0xb7, 0x83, 0xf9, 0x71, 0xae, 0x6f, 0x96, 0x4c, 0x3a, 0xd1, + 0x43, 0x40, 0x9c, 0x44, 0x8c, 0xc7, 0xb8, 0xeb, 0x13, 0x37, 0xc2, 0x89, 0xcf, 0x70, 0x5f, 0xca, + 0xac, 0x38, 0xf3, 0xe3, 0xc8, 0x7e, 0x16, 0x40, 0x8f, 0xa1, 0x36, 0x18, 0xfa, 0xbe, 0xab, 0x46, + 0x5c, 0x94, 0xc5, 0x17, 0xec, 0xec, 0xd4, 0x6c, 0x75, 0x6a, 0xf6, 0x66, 0x98, 0x38, 0xd5, 0x14, + 0x99, 0xcb, 0xb4, 0xbe, 0xeb, 0x30, 0x77, 0x79, 0xd9, 0xe8, 0x29, 0x4c, 0xcb, 0xa9, 0xe6, 0xe7, + 0x75, 0xed, 0x50, 0x73, 0x01, 0x19, 0x69, 0xf2, 0x02, 0xa6, 0xfe, 0x7a, 0x01, 0x85, 0xff, 0xba, + 0x80, 0x16, 0xd4, 0xf2, 0x9c, 0x72, 0xdc, 0x52, 0xec, 0xdc, 0xc6, 0xca, 0x55, 0xd9, 0x3a, 0x19, + 0x2e, 0x1d, 0xab, 0x53, 0x0d, 0xc6, 0x0f, 0x6b, 0x0f, 0x66, 0x2f, 0x6d, 0x01, 0xad, 0x40, 0x75, + 0x80, 0x03, 0xea, 0x27, 0x93, 0x8b, 0x86, 0xcc, 0x25, 0x57, 0x7c, 0x1b, 0x2a, 0xe4, 0x24, 0x26, + 0xa1, 0xa0, 0x2c, 0xcc, 0xa5, 0x8d, 0x1d, 0xd6, 0x3a, 0xcc, 0x1d, 0xc4, 0x9c, 0x86, 0x9e, 0x50, + 0x2b, 0x31, 0xc6, 0x72, 0x75, 0xb9, 0x36, 0xf5, 0xb4, 0xbe, 0xa5, 0xff, 0x99, 0xf3, 0x90, 0x29, + 0xe8, 0x32, 0x40, 0x7a, 0x51, 0x2e, 0x49, 0x9d, 0xb2, 0x74, 0xc1, 0xa9, 0xa4, 0x1e, 0x89, 0x42, + 0x08, 0x8a, 0x98, 0xf7, 0x8e, 0xf2, 0xa2, 0xd2, 0x46, 0x77, 0x60, 0x96, 0x0a, 0x37, 0x22, 0x3c, + 0xa0, 0x42, 0x76, 0x94, 0x8e, 0xb4, 0xec, 0xd4, 0xa8, 0xd8, 0xff, 0xe5, 0x43, 0x8b, 0x50, 0xa6, + 0xc2, 0x25, 0x27, 0x54, 0xc4, 0x72, 0x48, 0x65, 0xa7, 0x44, 0x45, 0x3b, 0x7d, 0xa2, 0x06, 0xd4, + 0xa8, 0x70, 0x43, 0x16, 0xe7, 0xe1, 0x69, 0x19, 0x06, 0x2a, 0xf6, 0x58, 0x9c, 0x21, 0x96, 0x01, + 0xa8, 0x70, 0x63, 0x1a, 0x10, 0x36, 0x8c, 0x8d, 0x19, 0x19, 0xaf, 0x50, 0x71, 0x98, 0x39, 0xd0, + 0xaa, 0x4c, 0x10, 0x93, 0x20, 0x62, 0x1c, 0xf3, 0xc4, 0x28, 0x49, 0x40, 0x95, 0x8a, 0x43, 0xe5, + 0x5a, 0xbf, 0x0f, 0xd5, 0x89, 0xf9, 0x23, 0x80, 0x99, 0x7d, 0xa7, 0xbd, 0xf5, 0xf2, 0x6d, 0x5d, + 0x43, 0x75, 0xa8, 0x6d, 0xbd, 0xde, 0xdd, 0x75, 0x3b, 0xed, 0x83, 0x83, 0xcd, 0xed, 0x76, 0x5d, + 0x6f, 0xad, 0x9f, 0x7e, 0x35, 0xb5, 0xd3, 0x91, 0xa9, 0x9f, 0x8d, 0x4c, 0xfd, 0x7c, 0x64, 0xea, + 0x5f, 0x46, 0xa6, 0xfe, 0xe1, 0xc2, 0xd4, 0xce, 0x2e, 0x4c, 0xed, 0xfc, 0xc2, 0xd4, 0xde, 0x95, + 0xd5, 0x56, 0xbb, 0x33, 0xf2, 0x9e, 0x1f, 0xfd, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x2c, 0x21, + 0xe3, 0x75, 0x05, 0x00, 0x00, } func (m *EncodedError) Marshal() (dAtA []byte, err error) { @@ -530,6 +579,20 @@ func (m *EncodedErrorLeaf) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.MultierrorCauses) > 0 { + for iNdEx := len(m.MultierrorCauses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.MultierrorCauses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintErrors(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } { size, err := m.Details.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -631,6 +694,11 @@ func (m *EncodedWrapper) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.MessageType != 0 { + i = encodeVarintErrors(dAtA, i, uint64(m.MessageType)) + i-- + dAtA[i] = 0x20 + } { size, err := m.Details.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -641,10 +709,10 @@ func (m *EncodedWrapper) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x1a - if len(m.MessagePrefix) > 0 { - i -= len(m.MessagePrefix) - copy(dAtA[i:], m.MessagePrefix) - i = encodeVarintErrors(dAtA, i, uint64(len(m.MessagePrefix))) + if len(m.Message) > 0 { + i -= len(m.Message) + copy(dAtA[i:], m.Message) + i = encodeVarintErrors(dAtA, i, uint64(len(m.Message))) i-- dAtA[i] = 0x12 } @@ -874,6 +942,12 @@ func (m *EncodedErrorLeaf) Size() (n int) { } l = m.Details.Size() n += 1 + l + sovErrors(uint64(l)) + if len(m.MultierrorCauses) > 0 { + for _, e := range m.MultierrorCauses { + l = e.Size() + n += 1 + l + sovErrors(uint64(l)) + } + } return n } @@ -910,12 +984,15 @@ func (m *EncodedWrapper) Size() (n int) { _ = l l = m.Cause.Size() n += 1 + l + sovErrors(uint64(l)) - l = len(m.MessagePrefix) + l = len(m.Message) if l > 0 { n += 1 + l + sovErrors(uint64(l)) } l = m.Details.Size() n += 1 + l + sovErrors(uint64(l)) + if m.MessageType != 0 { + n += 1 + sovErrors(uint64(m.MessageType)) + } return n } @@ -1202,6 +1279,40 @@ func (m *EncodedErrorLeaf) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MultierrorCauses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowErrors + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthErrors + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthErrors + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MultierrorCauses = append(m.MultierrorCauses, &EncodedError{}) + if err := m.MultierrorCauses[len(m.MultierrorCauses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipErrors(dAtA[iNdEx:]) @@ -1470,7 +1581,7 @@ func (m *EncodedWrapper) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessagePrefix", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1498,7 +1609,7 @@ func (m *EncodedWrapper) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MessagePrefix = string(dAtA[iNdEx:postIndex]) + m.Message = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { @@ -1533,6 +1644,25 @@ func (m *EncodedWrapper) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessageType", wireType) + } + m.MessageType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowErrors + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessageType |= MessageType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipErrors(dAtA[iNdEx:]) diff --git a/errorspb/errors.proto b/errorspb/errors.proto index 3fe195d..aba161d 100644 --- a/errorspb/errors.proto +++ b/errorspb/errors.proto @@ -17,7 +17,7 @@ message EncodedError { } // EncodedErrorLeaf is the wire-encodable representation -// of an error leaf. +// of an error leaf or a multi-cause wrapper from go 1.20+ message EncodedErrorLeaf { // The main error message (mandatory), that can be printed to human // users and may contain PII. This contains the value of the leaf @@ -26,6 +26,12 @@ message EncodedErrorLeaf { // The error details. EncodedErrorDetails details = 2 [(gogoproto.nullable) = false]; + + // multierror_causes is a list of errors that contain the causal tree + // of this leaf. If this field is not empty, then this leaf encodes + // an error from go 1.20 or later that encodes multiple causes in its + // chain. + repeated EncodedError multierror_causes = 3; } message EncodedErrorDetails { @@ -60,24 +66,42 @@ message EncodedErrorDetails { google.protobuf.Any full_details = 4; } +// MessageType encodes information regarding the interpretation of an +// error's message string. +enum MessageType { + // Keeping zero value as default for backwards compatibility. + // PREFIX is a message that should be prepended to its cause. + PREFIX = 0; + // FULL_MESSAGE is a complete error message that can be displayed + // without its cause. + FULL_MESSAGE = 1; +} + // EncodedWrapper is the wire-encodable representation // of an error wrapper. message EncodedWrapper { // The cause error. Mandatory. EncodedError cause = 1 [(gogoproto.nullable) = false]; - // The wrapper message prefix (which may be empty). This - // isbprinted before the cause's own message when - // constructing a full message. This may contain PII. + // The wrapper message. This could either be a full error message + // that can be printed independently, or a (potentially empty) prefix + // which is printed before the cause's own message to construct the + // full message. This may contain PII. // // This is extracted automatically: // // - for wrappers that have a registered encoder, // - otherwise, when the wrapper's Error() has its cause's Error() as suffix. - string message_prefix = 2; + string message = 2; // The error details. EncodedErrorDetails details = 3 [(gogoproto.nullable) = false]; + + // message_type encodes the interpretation of `message`. Prior + // versions will not set this field and it will be left as `PREFIX`. + // This retains backwards compatibility since the new behavior is + // only enabled when this enum is set to `FULL_MESSAGE`. + MessageType message_type = 4; } // ErrorTypeMark identifies an error type for the purpose of determining diff --git a/errutil/as.go b/errutil/as.go index bf45e45..ad2a8fc 100644 --- a/errutil/as.go +++ b/errutil/as.go @@ -58,7 +58,16 @@ func As(err error, target interface{}) bool { if x, ok := c.(interface{ As(interface{}) bool }); ok && x.As(target) { return true } + + // If at any point in the single cause chain including the top, + // we encounter a multi-cause chain, recursively explore it. + for _, cause := range errbase.UnwrapMulti(c) { + if As(cause, target) { + return true + } + } } + return false } diff --git a/errutil/as_test.go b/errutil/as_test.go index eaf3fdb..38d75be 100644 --- a/errutil/as_test.go +++ b/errutil/as_test.go @@ -15,6 +15,7 @@ package errutil_test import ( + goErr "errors" "fmt" "testing" @@ -53,6 +54,40 @@ func TestAs(t *testing.T) { mywSlot = nil tt.Check(errors.As(wwErr, &mywSlot)) tt.Check(errors.Is(mywSlot, refwErr)) + + // Check that it works even if hidden in wrapError + multiWrapErr := fmt.Errorf("test %w test", errors.Wrap(refwErr, "hidden")) + mywSlot = nil + tt.Check(errors.As(multiWrapErr, &mywSlot)) + tt.Check(errors.Is(mywSlot, refwErr)) + + // Check that it works even if hidden in multi-cause wrapErrors + multiWrapErr = fmt.Errorf("error: %w and %w", errors.Wrap(refwErr, "hidden"), errors.New("world")) + mywSlot = nil + tt.Check(errors.As(multiWrapErr, &mywSlot)) + tt.Check(errors.Is(mywSlot, refwErr)) + + // Check that it works even if hidden in custom multi-error + multiWrapErr = &myMultiWrapper{ + causes: []error{errors.Wrap(refwErr, "hidden"), errors.New("world")}, + msg: "errors", + } + mywSlot = nil + tt.Check(errors.As(multiWrapErr, &mywSlot)) + tt.Check(errors.Is(mywSlot, refwErr)) + + // Check that it works even if hidden in a multi-level multi-cause chain + multiWrapErr = fmt.Errorf("error: %w and %w", + &myMultiWrapper{ + causes: []error{errors.New("ignoreme"), errors.New("also ignore")}, + msg: "red herring", + }, &myMultiWrapper{ + causes: []error{errors.Wrap(refwErr, "hidden"), errors.New("world")}, + msg: "errors", + }) + mywSlot = nil + tt.Check(errors.As(multiWrapErr, &mywSlot)) + tt.Check(errors.Is(mywSlot, refwErr)) } type myType struct{ msg string } @@ -65,3 +100,14 @@ type myWrapper struct { } func (m *myWrapper) Error() string { return fmt.Sprintf("%s: %v", m.msg, m.cause) } + +type myMultiWrapper struct { + causes []error + msg string +} + +func (m *myMultiWrapper) Error() string { return fmt.Sprintf("%s: %v", m.msg, goErr.Join(m.causes...)) } + +func (m *myMultiWrapper) Unwrap() []error { + return m.causes +} diff --git a/errutil/doc.go b/errutil/doc.go index 795c06c..3ae970f 100644 --- a/errutil/doc.go +++ b/errutil/doc.go @@ -14,6 +14,6 @@ // Package errutil combines primitives from the library, the Go errors // package and github.com/pkg/errors. It aims to serve as drop-in -// replacement to gitub.com/pkg/errors and replace the legacy +// replacement to github.com/pkg/errors and replace the legacy // implementation of `pgerrors`. package errutil diff --git a/errutil/message_test.go b/errutil/message_test.go index 34bb2d1..0a7311d 100644 --- a/errutil/message_test.go +++ b/errutil/message_test.go @@ -124,7 +124,7 @@ Wraps: (4) wuu: woo | | multi-line payload | Wraps: (2) woo | Error types: (1) *errutil_test.werrFmt (2) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError`, +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr`, }, {"assert + wrap empty", @@ -148,7 +148,7 @@ Wraps: (3) wuu: woo | | multi-line payload | Wraps: (2) woo | Error types: (1) *errutil_test.werrFmt (2) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError`, +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr`, }, {"assert + wrap empty+arg", @@ -173,7 +173,7 @@ Wraps: (4) wuu: woo | | multi-line payload | Wraps: (2) woo | Error types: (1) *errutil_test.werrFmt (2) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError`, +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr`, }, } diff --git a/errutil/utilities.go b/errutil/utilities.go index 2fd126d..78e4d20 100644 --- a/errutil/utilities.go +++ b/errutil/utilities.go @@ -15,6 +15,7 @@ package errutil import ( + "github.com/cockroachdb/errors/join" "github.com/cockroachdb/errors/secondary" "github.com/cockroachdb/errors/withstack" "github.com/cockroachdb/redact" @@ -158,3 +159,10 @@ func WrapWithDepthf(depth int, err error, format string, args ...interface{}) er err = withstack.WithStackDepth(err, depth+1) return err } + +// JoinWithDepth constructs a Join error with the provided list of +// errors as arguments, and wraps it in a `WithStackDepth` to capture a +// stacktrace alongside. +func JoinWithDepth(depth int, errs ...error) error { + return withstack.WithStackDepth(join.Join(errs...), depth+1) +} diff --git a/errutil_api.go b/errutil_api.go index 512bded..166eee1 100644 --- a/errutil_api.go +++ b/errutil_api.go @@ -192,3 +192,19 @@ func HandleAsAssertionFailureDepth(depth int, origErr error) error { // - it also supports recursing through causes with Cause(). // - if it detects an API use error, its panic object is a valid error. func As(err error, target interface{}) bool { return errutil.As(err, target) } + +// Join returns an error that wraps the given errors. +// Any nil error values are discarded. +// Join returns nil if errs contains no non-nil values. +// The error formats as the concatenation of the strings obtained +// by calling the Error method of each element of errs, with a newline +// between each string. A stack trace is also retained. +func Join(errs ...error) error { + return errutil.JoinWithDepth(1, errs...) +} + +// JoinWithDepth is like Join but the depth at which the call stack is +// captured can be specified. +func JoinWithDepth(depth int, errs ...error) error { + return errutil.JoinWithDepth(depth+1, errs...) +} diff --git a/errutil_api_test.go b/errutil_api_test.go new file mode 100644 index 0000000..a70c2b7 --- /dev/null +++ b/errutil_api_test.go @@ -0,0 +1,31 @@ +package errors_test + +import ( + "fmt" + "strings" + "testing" + + "github.com/cockroachdb/errors" + "github.com/cockroachdb/errors/testutils" +) + +func TestUnwrap(t *testing.T) { + tt := testutils.T{t} + + e := fmt.Errorf("foo %w %w", fmt.Errorf("bar"), fmt.Errorf("baz")) + + // Compatibility with go 1.20: Unwrap() on a multierror returns nil + // (per API documentation) + tt.Check(errors.Unwrap(e) == nil) +} + +// More detailed testing of Join is in datadriven_test.go. Here we make +// sure that the public API includes the stacktrace wrapper. +func TestJoin(t *testing.T) { + e := errors.Join(errors.New("abc123"), errors.New("def456")) + printed := fmt.Sprintf("%+v", e) + expected := `Error types: (1) *withstack.withStack (2) *join.joinError (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError` + if !strings.Contains(printed, expected) { + t.Errorf("Expected: %s to contain: %s", printed, expected) + } +} diff --git a/extgrpc/ext_grpc_test.go b/extgrpc/ext_grpc_test.go index 174bbb9..6d25546 100644 --- a/extgrpc/ext_grpc_test.go +++ b/extgrpc/ext_grpc_test.go @@ -125,7 +125,13 @@ func TestEncodeDecodeStatus(t *testing.T) { return grpcstatus.Convert(err) }, expectDetails: []interface{}{ - grpcstatus.New(codes.Internal, "status").Proto(), // Protobuf succeeds + // Protobuf succeeds + func() interface{} { + var st interface{} = grpcstatus.New(codes.Internal, "status").Proto() + res := reflect.New(reflect.TypeOf(st).Elem()).Interface() + copyPublicFields(res, st) + return res + }(), nil, // gogoproto decode fails nil, // dummy decode fails }, diff --git a/exthttp/ext_http.go b/exthttp/ext_http.go index 30ed9e8..e3d0252 100644 --- a/exthttp/ext_http.go +++ b/exthttp/ext_http.go @@ -65,7 +65,7 @@ func (w *withHTTPCode) Unwrap() error { return w.cause } func (w *withHTTPCode) Format(s fmt.State, verb rune) { errors.FormatError(w, s, verb) } // SafeFormatter implements errors.SafeFormatter. -// Note: see the documentat ion of errbase.SafeFormatter for details +// Note: see the documentation of errbase.SafeFormatter for details // on how to implement this. In particular beware of not emitting // unsafe strings. func (w *withHTTPCode) SafeFormatError(p errors.Printer) (next error) { diff --git a/fmttests/datadriven_test.go b/fmttests/datadriven_test.go index 6fea1dd..77b9568 100644 --- a/fmttests/datadriven_test.go +++ b/fmttests/datadriven_test.go @@ -20,7 +20,6 @@ import ( goErr "errors" "flag" "fmt" - "io/ioutil" "net" "os" "regexp" @@ -37,6 +36,7 @@ import ( "github.com/cockroachdb/errors/errutil" "github.com/cockroachdb/errors/hintdetail" "github.com/cockroachdb/errors/issuelink" + "github.com/cockroachdb/errors/join" "github.com/cockroachdb/errors/report" "github.com/cockroachdb/errors/safedetails" "github.com/cockroachdb/errors/secondary" @@ -44,7 +44,7 @@ import ( "github.com/cockroachdb/errors/withstack" "github.com/cockroachdb/logtags" "github.com/cockroachdb/redact" - "github.com/cockroachdb/sentry-go" + "github.com/getsentry/sentry-go" "github.com/kr/pretty" pkgErr "github.com/pkg/errors" ) @@ -91,6 +91,9 @@ var leafCommands = map[string]commandFn{ // errFmt has both Format() and FormatError(), // and demonstrates the common case of "rich" errors. "fmt": func(_ error, args []arg) error { return &errFmt{strfy(args)} }, + // errSafeFormat has SafeFormatError(), and has Error() and Format() + // redirect to that. + "safefmt": func(_ error, args []arg) error { return &errSafeFormat{strfy(args)} }, // errutil.New implements multi-layer errors. "newf": func(_ error, args []arg) error { return errutil.Newf("new-style %s", strfy(args)) }, @@ -145,6 +148,18 @@ accept %\+v via Formattable.*IRREGULAR: not same as %\+v` var wrapCommands = map[string]commandFn{ "goerr": func(err error, args []arg) error { return fmt.Errorf("%s: %w", strfy(args), err) }, + // errorf constructs a wrapper that encodes as an opaqueWrapper with + // `ownsErrorString` set to true. This is because the error string of the + // wrapper is not a strict prefix with `: ` of the wrapped error. + "go-errorf": func(e error, args []arg) error { + return fmt.Errorf("%s - %w", strfy(args), e) + }, + "go-errorf-suffix": func(e error, args []arg) error { + return fmt.Errorf("%w - %s", e, strfy(args)) + }, + "go-errorf-multi": func(err error, args []arg) error { + return fmt.Errorf("%s - %w %w", strfy(args), err, pkgErr.New("sibling error in wrapper")) + }, "opaque": func(err error, _ []arg) error { return errbase.DecodeError(context.Background(), errbase.EncodeError(context.Background(), err)) @@ -176,6 +191,9 @@ var wrapCommands = map[string]commandFn{ // werrFmt has both Format() and FormatError(), // and demonstrates the common case of "rich" errors. "fmt": func(err error, args []arg) error { return &werrFmt{err, strfy(args)} }, + // werrSafeFormat has SafeFormatError(), and has Error() and Format() + // redirect to that. + "safefmt": func(err error, args []arg) error { return &werrSafeFormat{cause: err, msg: strfy(args)} }, // werrEmpty has no message of its own. Its Error() is implemented via its cause. "empty": func(err error, _ []arg) error { return &werrEmpty{err} }, // werrDelegate delegates its Error() behavior to FormatError(). @@ -189,6 +207,20 @@ var wrapCommands = map[string]commandFn{ // werrWithElidedClause overrides its cause's Error() from its own // short message. "elided-cause": func(err error, args []arg) error { return &werrWithElidedCause{err, strfy(args)} }, + "multi-cause": func(err error, args []arg) error { + return newMultiCause("A", false, /* elide */ + newMultiCause("C", false /* elide */, err, errutil.New(strfy(args))), + newMultiCause("B", false /* elide */, errutil.New("included 1"), errutil.New("included 2")), + ) + }, + // This iteration elides the causes in the second child error, + // which omits them from the format string. + "multi-elided-cause": func(err error, args []arg) error { + return newMultiCause("A", false, /* elide */ + newMultiCause("C", false /* elide */, err, errutil.New(strfy(args))), + newMultiCause("B", true /* elide */, errutil.New("elided 1"), errutil.New("elided 2")), + ) + }, // stack attaches a simple stack trace. "stack": func(err error, _ []arg) error { return withstack.WithStack(err) }, @@ -200,6 +232,10 @@ var wrapCommands = map[string]commandFn{ // newfw is errors.Newf("%w") which is the fmt-standard way to wrap an error. "newfw": func(err error, args []arg) error { return errutil.Newf("new-style (%s) :: %w ::", strfy(args), err) }, + // newfw-suffix is like newfw, except the cause is printed before + // the prefix. + "newfw-suffix": func(err error, args []arg) error { return errutil.Newf(":: %w :: new-style (%s)", err, strfy(args)) }, + // errutil.Wrap implements multi-layer wrappers. "wrapf": func(err error, args []arg) error { return errutil.Wrapf(err, "new-stylew %s", strfy(args)) }, // assertions mask their cause from the barriers, but otherwise format as-is. @@ -208,7 +244,7 @@ var wrapCommands = map[string]commandFn{ "assertwrap": func(err error, args []arg) error { return errutil.NewAssertionErrorWithWrappedErrf(err, "assertmsg: %s", strfy(args)) }, - // barirer is a simpler barrier + // barrier is a simpler barrier "barrier": func(err error, _ []arg) error { return barriers.Handled(err) }, // domains are hidden annotations. Tested here for sentry reporting. "domain": func(err error, _ []arg) error { return domains.WithDomain(err, "mydomain") }, @@ -240,6 +276,9 @@ var wrapCommands = map[string]commandFn{ ctx = logtags.AddTag(ctx, "safe", redact.Safe(456)) return contexttags.WithContextTags(err, ctx) }, + "join": func(err error, args []arg) error { + return join.Join(err, errutil.New(strfy(args))) + }, } var noPrefixWrappers = map[string]bool{ @@ -264,6 +303,7 @@ var noPrefixWrappers = map[string]bool{ "stack": true, "tags": true, "telemetry": true, + "join": true, } var wrapOnlyExceptions = map[string]string{} @@ -281,7 +321,7 @@ func init() { // too. Most implementation of Format() are incomplete and unable to // emit a "Go representation", so this breaks. // - "goerr", "fmt-old", "fmt-old-delegate", + "goerr", "go-errorf", "go-errorf-suffix", "go-errorf-multi", "fmt-old", "fmt-old-delegate", "os-syscall", "os-link", "os-path", @@ -292,6 +332,8 @@ func init() { // Formattable() implementation is able to report more, but that // means they don't match. "nofmt", + "errorf", + "join", } { wrapOnlyExceptions[v] = ` accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -342,7 +384,7 @@ func generateFiles() { } leafTests.WriteString("----\n\n") } - ioutil.WriteFile(testPath+"/leaves", leafTests.Bytes(), 0666) + os.WriteFile(testPath+"/leaves", leafTests.Bytes(), 0666) // Generate the "leaves-via-network" input file, which tests // formatting for leaf-only error types after being brought over @@ -362,7 +404,7 @@ func generateFiles() { } leafTests.WriteString("----\n\n") } - ioutil.WriteFile(testPath+"/leaves-via-network", leafTests.Bytes(), 0666) + os.WriteFile(testPath+"/leaves-via-network", leafTests.Bytes(), 0666) // Leaf types for which we want to test all wrappers: wrapperLeafTypes := []string{"fmt", "goerr", "nofmt", "pkgerr", "newf"} @@ -395,6 +437,10 @@ func generateFiles() { } else if wrapName == "elided-cause" { // This wrapper type hides the inner error. wrapTests.WriteString("require (?s)outerthree.*outerfour\n") + } else if strings.HasSuffix(wrapName, "-suffix") { + // Wrapper with message override: the test cases place + // the leaf before the prefix. + fmt.Fprintf(&wrapTests, "require (?s)%s.*outerthree.*outerfour\n", expectedLeafString) } else { // Wrapper with prefix: all renderings need to contain at // least the words from the leaf and the wrapper. @@ -402,7 +448,7 @@ func generateFiles() { } wrapTests.WriteString("----\n\n") } - ioutil.WriteFile( + os.WriteFile( fmt.Sprintf(testPath+"/wrap-%s", leafName), wrapTests.Bytes(), 0666) } @@ -432,6 +478,10 @@ func generateFiles() { } else if wrapName == "elided-cause" { // This wrapper type hides the inner error. wrapTests.WriteString("require (?s)outerthree.*outerfour\n") + } else if strings.HasSuffix(wrapName, "-suffix") { + // Wrapper with message override: the test cases place + // the leaf before the prefix. + wrapTests.WriteString("require (?s)innerone.*innertwo.*outerthree.*outerfour\n") } else { // Wrapper with prefix: all renderings need to contain at // least the words from the leaf and the wrapper. @@ -439,7 +489,7 @@ func generateFiles() { } wrapTests.WriteString("----\n\n") } - ioutil.WriteFile( + os.WriteFile( fmt.Sprintf(testPath+"/wrap-%s-via-network", leafName), wrapTests.Bytes(), 0666) } @@ -451,21 +501,20 @@ func generateFiles() { // The test DSL accepts a single directive "run" with a sub-DSL // for each test. The sub-DSL accepts 3 types of directive: // -// accept -// Tells the test that a "problem" or "irregularity" -// is not to be considered a test failure if it matches -// the provided -// -// require -// Requires the result of both Error() and %+v formatting -// to match +// accept +// Tells the test that a "problem" or "irregularity" +// is not to be considered a test failure if it matches +// the provided // -// -// The remaining directives in the sub-DSL construct -// an error object to format using a stack: the first directive -// creates a leaf error; the 2nd one wraps it a first time, -// the 3rd one wraps it a second time, and so forth. +// require +// Requires the result of both Error() and %+v formatting +// to match // +// +// The remaining directives in the sub-DSL construct +// an error object to format using a stack: the first directive +// creates a leaf error; the 2nd one wraps it a first time, +// the 3rd one wraps it a second time, and so forth. func TestDatadriven(t *testing.T) { if *generateTestFiles { generateFiles() diff --git a/fmttests/format_error_test.go b/fmttests/format_error_test.go index 643eecf..db8e1a3 100644 --- a/fmttests/format_error_test.go +++ b/fmttests/format_error_test.go @@ -317,6 +317,13 @@ Wraps: (3) woo | multi-line leaf payload Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.withStack (3) *fmttests.errFmt`, ``, }, + + {"safeformatter leaf", + &errSafeFormat{msg: "world"}, + `safe world`, ` +safe world +(1) safe world +Error types: (1) *fmttests.errSafeFormat`, ``}, } for _, test := range testCases { @@ -369,6 +376,7 @@ func fmtClean(spv string) string { spv = stackref.ReplaceAllString(spv, `&stack{...}`) spv = hexref.ReplaceAllString(spv, "0xAAAABBBB") spv = strings.ReplaceAll(spv, "\t", "") + spv = funcNN.ReplaceAllString(spv, `...funcNN...`) // When running the tests with a Go version before 1.16, // the reference test output wrt fs.PathError will not match what the @@ -381,6 +389,8 @@ func fmtClean(spv string) string { return spv } +var funcNN = regexp.MustCompile(`(?m)((\.\.func\d+| func\d+\(\)|\(func\d+\))"?$)|(\.\.func\d+\\n)`) + var stackref = regexp.MustCompile(`(&(?:errors\.stack|withstack\.stack)\{[^}]*\})`) var fileref = regexp.MustCompile(`(` + // Any path ending with .{go,s}:NNN: @@ -672,9 +682,9 @@ func (e *werrWithElidedCause) FormatError(p errbase.Printer) error { // takes over, and that does not respect the elision. func encodeWithElidedCause( _ context.Context, err error, -) (prefix string, _ []string, _ proto.Message) { +) (prefix string, _ []string, _ proto.Message, _ errbase.MessageType) { m := err.(*werrWithElidedCause) - return m.msg, nil, nil + return m.msg, nil, nil, errbase.FullMessage } func decodeWithElidedCause( @@ -684,7 +694,7 @@ func decodeWithElidedCause( } func init() { - errbase.RegisterWrapperEncoder(errbase.GetTypeKey(&werrWithElidedCause{}), encodeWithElidedCause) + errbase.RegisterWrapperEncoderWithMessageType(errbase.GetTypeKey(&werrWithElidedCause{}), encodeWithElidedCause) errbase.RegisterWrapperDecoder(errbase.GetTypeKey(&werrWithElidedCause{}), decodeWithElidedCause) } @@ -699,3 +709,79 @@ func (w *werrMigrated) Format(s fmt.State, verb rune) { errbase.FormatError(w, s func init() { errbase.RegisterTypeMigration("some/previous/path", "prevpkg.prevType", (*werrMigrated)(nil)) } + +type errSafeFormat struct { + msg string +} + +func (e *errSafeFormat) Error() string { return fmt.Sprint(e) } +func (e *errSafeFormat) Format(s fmt.State, verb rune) { errbase.FormatError(e, s, verb) } +func (e *errSafeFormat) SafeFormatError(p errbase.Printer) (next error) { + p.Printf("safe %s", e.msg) + return nil +} + +type werrSafeFormat struct { + cause error + msg string +} + +func (w *werrSafeFormat) Cause() error { return w.cause } +func (w *werrSafeFormat) Error() string { return fmt.Sprint(w) } +func (w *werrSafeFormat) Format(s fmt.State, verb rune) { errbase.FormatError(w, s, verb) } +func (w *werrSafeFormat) SafeFormatError(p errbase.Printer) (next error) { + p.Printf("safe %s", w.msg) + return w.cause +} + +type errMultiCause struct { + causes []error + msg string + elide bool +} + +func newMultiCause(msg string, elide bool, causes ...error) *errMultiCause { + return &errMultiCause{ + causes: causes, + msg: msg, + elide: elide, + } +} + +func (e *errMultiCause) Error() string { return fmt.Sprint(e) } +func (e *errMultiCause) Format(s fmt.State, verb rune) { errbase.FormatError(e, s, verb) } +func (e *errMultiCause) SafeFormatError(p errbase.Printer) (next error) { + p.Printf("%s", e.msg) + if e.elide { + return nil + } else { + return e.causes[0] + } +} +func (e *errMultiCause) Unwrap() []error { return e.causes } + +func init() { + errbase.RegisterMultiCauseEncoder(errbase.GetTypeKey(&errMultiCause{}), encodeWithMultiCause) + errbase.RegisterMultiCauseDecoder(errbase.GetTypeKey(&errMultiCause{}), decodeWithMultiCause) +} + +func encodeWithMultiCause( + _ context.Context, err error, +) (string, []string, proto.Message) { + m := err.(*errMultiCause) + if m.elide { + return m.msg, []string{"elide"}, nil + } else { + return m.msg, nil, nil + } +} + +func decodeWithMultiCause( + _ context.Context, causes []error, msg string, details []string, _ proto.Message, +) error { + elide := false + if len(details) == 1 && details[0] == "elide" { + elide = true + } + return &errMultiCause{causes, msg, elide} +} diff --git a/fmttests/testdata/format/leaves b/fmttests/testdata/format/leaves index bd5f050..35fcb7e 100644 --- a/fmttests/testdata/format/leaves +++ b/fmttests/testdata/format/leaves @@ -32,7 +32,7 @@ assertmsg oneline (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func16 + | github.com/cockroachdb/errors/fmttests.init.func17 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -80,7 +80,7 @@ assertmsg ‹oneline› (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func16 + | github.com/cockroachdb/errors/fmttests.init.func17 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -112,32 +112,57 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *erru ===== == Message payload :: assertmsg × -× --- -*errutil.leafError: assertmsg × (1) +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func17 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg × + | × +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: assertmsg × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func16)" -Title: "*errutil.leafError: assertmsg ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: assertmsg ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -147,11 +172,11 @@ Title: "*errutil.leafError: assertmsg ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func16() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run ctx-canceled oneline twoline @@ -198,7 +223,9 @@ Error types: (1) *errors.errorString ===== == Message payload context canceled --- +(1) context canceled +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -252,7 +279,9 @@ Error types: (1) context.deadlineExceededError ===== == Message payload context deadline exceeded --- +(1) context deadline exceeded +Error types: (1) context.deadlineExceededError +-- report composition: context.deadlineExceededError == Extra "error types" context/context.deadlineExceededError (*::) @@ -306,7 +335,7 @@ Error types: (1) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› ‹ | -- this is oneline› ‹ | twoline's› @@ -317,14 +346,19 @@ Error types: (1) *fmttests.errFmt ===== == Message payload × +(1) × +× × --- +× +× +Error types: (1) *fmttests.errFmt +-- report composition: *fmttests.errFmt == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -378,7 +412,7 @@ Error types: (1) *fmttests.errFmto == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› Error types: (1) *fmttests.errFmto ===== @@ -386,14 +420,16 @@ Error types: (1) *fmttests.errFmto ===== == Message payload × +(1) × × --- +Error types: (1) *fmttests.errFmto +-- report composition: *fmttests.errFmto == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmto" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -447,7 +483,7 @@ Error types: (1) *fmttests.errFmtoDelegate == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› Error types: (1) *fmttests.errFmtoDelegate ===== @@ -455,14 +491,16 @@ Error types: (1) *fmttests.errFmtoDelegate ===== == Message payload × +(1) × × --- +Error types: (1) *fmttests.errFmtoDelegate +-- report composition: *fmttests.errFmtoDelegate == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmtoDelegate" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -507,7 +545,7 @@ Error types: (1) *fmttests.errFmtp == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› Error types: (1) *fmttests.errFmtp ===== @@ -515,14 +553,16 @@ Error types: (1) *fmttests.errFmtp ===== == Message payload × +(1) × × --- +Error types: (1) *fmttests.errFmtp +-- report composition: *fmttests.errFmtp == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmtp" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -570,7 +610,7 @@ Error types: (1) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› Error types: (1) *errors.errorString ===== @@ -578,14 +618,16 @@ Error types: (1) *errors.errorString ===== == Message payload × +(1) × × --- +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -617,7 +659,7 @@ twoline new-style oneline (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -664,7 +706,7 @@ new-style ‹oneline› new-style ‹oneline› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -696,30 +738,54 @@ Error types: (1) *withstack.withStack (2) *errutil.leafError ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-style × + | × +Error types: (1) *withstack.withStack (2) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -729,18 +795,17 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf-attached oneline twoline require (?s)oneline.*twoline ---- ----- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.leafError{msg:"new-style ‹oneline›\n‹twoline›: payload"}, @@ -777,7 +842,7 @@ twoline: payload new-style oneline (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func17 + | github.com/cockroachdb/errors/fmttests.init.func18 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -805,7 +870,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func17 + | | github.com/cockroachdb/errors/fmttests.init.func18 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -854,7 +919,7 @@ new-style ‹oneline› new-style ‹oneline› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func17 + | github.com/cockroachdb/errors/fmttests.init.func18 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -882,7 +947,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func17 + | | github.com/cockroachdb/errors/fmttests.init.func18 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -916,61 +981,86 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== == Message payload :: new-style × -×: payload --- -*errutil.leafError: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func18 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func18 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style × + | ×: payload +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - ×: payload -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func17 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func17)" -Title: "*errutil.leafError: new-style ×\n×: payload\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -980,13 +1070,11 @@ Title: "*errutil.leafError: new-style ×\n×: payload\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func17() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt oneline twoline @@ -1030,7 +1118,7 @@ Error types: (1) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› Error types: (1) *fmttests.errNoFmt ===== @@ -1038,14 +1126,16 @@ Error types: (1) *fmttests.errNoFmt ===== == Message payload × +(1) × × --- +Error types: (1) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1093,7 +1183,9 @@ Error types: (1) *errors.errorString ===== == Message payload file already closed --- +(1) file already closed +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1147,7 +1239,9 @@ Error types: (1) *errors.errorString ===== == Message payload file already exists --- +(1) file already exists +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1201,7 +1295,9 @@ Error types: (1) *errors.errorString ===== == Message payload invalid argument --- +(1) invalid argument +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1255,7 +1351,9 @@ Error types: (1) *errors.errorString ===== == Message payload file does not exist --- +(1) file does not exist +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1309,7 +1407,9 @@ Error types: (1) *errors.errorString ===== == Message payload permission denied --- +(1) permission denied +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1350,7 +1450,7 @@ twoline == %+v oneline twoline -github.com/cockroachdb/errors/fmttests.glob..func9 +github.com/cockroachdb/errors/fmttests.init.func9 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -1387,7 +1487,7 @@ oneline (1) oneline | twoline -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1425,10 +1525,10 @@ Error types: (1) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1458,24 +1558,51 @@ Error types: (1) *errors.fundamental ===== == Message payload :: × +(1) × × --- + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1485,11 +1612,73 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +safefmt oneline twoline + +require (?s)oneline.*twoline +---- +&fmttests.errSafeFormat{msg:"oneline\ntwoline"} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errSafeFormat{msg:"oneline\ntwoline"} +== Error() +safe oneline +twoline +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +safe oneline +(1) safe oneline + | twoline +Error types: (1) *fmttests.errSafeFormat +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +safe ‹oneline› +‹twoline› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +safe ‹oneline› +(1) safe ‹oneline› + | ‹twoline› +Error types: (1) *fmttests.errSafeFormat +===== +===== Sentry reporting +===== +== Message payload +safe × +(1) safe × + | × +Error types: (1) *fmttests.errSafeFormat +-- report composition: +*fmttests.errSafeFormat +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errSafeFormat" +Title: "safe ×" +(NO STACKTRACE) run unimplemented oneline twoline @@ -1553,16 +1742,17 @@ Error types: (1) *issuelink.unimplementedError ===== == Message payload × -× --- -*issuelink.unimplementedError: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -issuedetails +(1) × + | × + | unimplemented + | issue: https://mysite + | detail: issuedetails +Error types: (1) *issuelink.unimplementedError +-- report composition: +*issuelink.unimplementedError: https://mysite == Extra "error types" github.com/cockroachdb/errors/issuelink/*issuelink.unimplementedError (*::) == Exception 1 (Module: "error domain: ") Type: "*issuelink.unimplementedError" -Title: "×\n×" +Title: "×" (NO STACKTRACE) diff --git a/fmttests/testdata/format/leaves-via-network b/fmttests/testdata/format/leaves-via-network index d2c8d59..b6211b8 100644 --- a/fmttests/testdata/format/leaves-via-network +++ b/fmttests/testdata/format/leaves-via-network @@ -11,9 +11,10 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func17\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -27,9 +28,10 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func17\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -48,7 +50,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func16 + | github.com/cockroachdb/errors/fmttests.init.func17 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -99,7 +101,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func16 + | github.com/cockroachdb/errors/fmttests.init.func17 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -131,32 +133,60 @@ Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *er ===== == Message payload :: assertmsg × -× --- -*errutil.leafError: assertmsg × (1) +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func17 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg × + | × +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: assertmsg × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func16)" -Title: "*errutil.leafError: assertmsg ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: assertmsg ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -166,11 +196,11 @@ Title: "*errutil.leafError: assertmsg ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func16() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run ctx-canceled oneline twoline @@ -218,7 +248,9 @@ Error types: (1) *errors.errorString ===== == Message payload context canceled --- +(1) context canceled +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -232,28 +264,12 @@ ctx-deadline oneline twoline opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v ---- -&errbase.opaqueLeaf{ - msg: "context deadline exceeded", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "context/context.deadlineExceededError", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"context/context.deadlineExceededError", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, -} +context.deadlineExceededError{} ===== ===== non-redactable formats ===== == %#v -&errbase.opaqueLeaf{ - msg: "context deadline exceeded", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "context/context.deadlineExceededError", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"context/context.deadlineExceededError", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, -} +context.deadlineExceededError{} == Error() context deadline exceeded == %v = Error(), good @@ -261,15 +277,15 @@ context deadline exceeded == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -context deadline exceeded -(1) context deadline exceeded -Error types: (1) *errbase.opaqueLeaf +== %+v = Error(), ok == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +== %+v via Formattable() (IRREGULAR: not same as %+v) +context deadline exceeded +(1) context deadline exceeded +Error types: (1) context.deadlineExceededError ===== ===== redactable formats ===== @@ -280,16 +296,18 @@ context deadline exceeded == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() context deadline exceeded (1) context deadline exceeded -Error types: (1) *errbase.opaqueLeaf +Error types: (1) context.deadlineExceededError ===== ===== Sentry reporting ===== == Message payload context deadline exceeded --- +(1) context deadline exceeded +Error types: (1) context.deadlineExceededError +-- report composition: context.deadlineExceededError == Extra "error types" context/context.deadlineExceededError (*::) @@ -371,14 +389,19 @@ Error types: (1) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -457,14 +480,19 @@ Error types: (1) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmto +Error types: (1) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmto == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmto" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -543,14 +571,19 @@ Error types: (1) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmtoDelegate +Error types: (1) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmtoDelegate == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmtoDelegate" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -626,14 +659,19 @@ Error types: (1) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmtp +Error types: (1) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmtp == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmtp" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -682,7 +720,7 @@ Error types: (1) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹oneline› -(1) ‹oneline›‹› +(1) ‹oneline› ‹ | twoline› Error types: (1) *errors.errorString ===== @@ -690,14 +728,16 @@ Error types: (1) *errors.errorString ===== == Message payload × +(1) × × --- +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -712,9 +752,10 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -726,9 +767,10 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style oneline @@ -745,7 +787,7 @@ new-style oneline | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -795,7 +837,7 @@ new-style ‹oneline› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -827,30 +869,57 @@ Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -860,11 +929,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf-attached oneline twoline @@ -872,7 +941,6 @@ opaque require (?s)oneline.*twoline ---- ----- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ cause: &errutil.leafError{msg:"new-style ‹oneline›\n‹twoline›: payload"}, @@ -882,18 +950,20 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func17\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func18\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func17\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func18\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -908,18 +978,20 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func17\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func18\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func17\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func18\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style oneline @@ -936,7 +1008,7 @@ new-style oneline | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func17 + | github.com/cockroachdb/errors/fmttests.init.func18 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -967,7 +1039,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func17 + | | github.com/cockroachdb/errors/fmttests.init.func18 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -1019,7 +1091,7 @@ new-style ‹oneline› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func17 + | github.com/cockroachdb/errors/fmttests.init.func18 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1050,7 +1122,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func17 + | | github.com/cockroachdb/errors/fmttests.init.func18 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -1084,61 +1156,92 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== == Message payload :: new-style × -×: payload --- -*errutil.leafError: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func18 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func18 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style × + | ×: payload +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - ×: payload -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func17 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func17)" -Title: "*errutil.leafError: new-style ×\n×: payload\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1148,13 +1251,11 @@ Title: "*errutil.leafError: new-style ×\n×: payload\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func17() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt oneline twoline @@ -1229,14 +1330,19 @@ Error types: (1) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1285,7 +1391,9 @@ Error types: (1) *errors.errorString ===== == Message payload file already closed --- +(1) file already closed +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1340,7 +1448,9 @@ Error types: (1) *errors.errorString ===== == Message payload file already exists --- +(1) file already exists +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1395,7 +1505,9 @@ Error types: (1) *errors.errorString ===== == Message payload invalid argument --- +(1) invalid argument +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1450,7 +1562,9 @@ Error types: (1) *errors.errorString ===== == Message payload file does not exist --- +(1) file does not exist +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1505,7 +1619,9 @@ Error types: (1) *errors.errorString ===== == Message payload permission denied --- +(1) permission denied +Error types: (1) *errors.errorString +-- report composition: *errors.errorString == Extra "error types" errors/*errors.errorString (*::) @@ -1529,7 +1645,7 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, } @@ -1542,7 +1658,7 @@ require (?s)oneline.*twoline details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, } @@ -1563,7 +1679,7 @@ oneline | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1613,7 +1729,7 @@ Error types: (1) *errbase.opaqueLeaf | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1643,24 +1759,55 @@ Error types: (1) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1670,11 +1817,99 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +safefmt oneline twoline +opaque + +require (?s)oneline.*twoline +---- +&errbase.opaqueLeaf{ + msg: "safe oneline\ntwoline", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueLeaf{ + msg: "safe oneline\ntwoline", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, +} +== Error() +safe oneline +twoline +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +safe oneline +(1) safe oneline + | twoline + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat +Error types: (1) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹safe oneline› +‹twoline› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹safe oneline› +(1) ‹safe oneline› + | ‹twoline› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat +Error types: (1) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat +Error types: (1) *errbase.opaqueLeaf +-- report composition: +*fmttests.errSafeFormat +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errSafeFormat (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errSafeFormat" +Title: "×" +(NO STACKTRACE) run unimplemented oneline twoline @@ -1739,16 +1974,17 @@ Error types: (1) *issuelink.unimplementedError ===== == Message payload × -× --- -*issuelink.unimplementedError: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -issuedetails +(1) × + | × + | unimplemented + | issue: https://mysite + | detail: issuedetails +Error types: (1) *issuelink.unimplementedError +-- report composition: +*issuelink.unimplementedError: https://mysite == Extra "error types" github.com/cockroachdb/errors/issuelink/*issuelink.unimplementedError (*::) == Exception 1 (Module: "error domain: ") Type: "*issuelink.unimplementedError" -Title: "×\n×" +Title: "×" (NO STACKTRACE) diff --git a/fmttests/testdata/format/opaque b/fmttests/testdata/format/opaque index 322ef61..118dc85 100644 --- a/fmttests/testdata/format/opaque +++ b/fmttests/testdata/format/opaque @@ -69,14 +69,19 @@ Error types: (1) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -153,7 +158,7 @@ Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outer›: ‹inner› -(1) ‹outer›‹› +(1) ‹outer› ‹ | outer2ndline› ‹ | -- this is outer› ‹ | outer2ndline's› @@ -168,10 +173,19 @@ Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× × --- +× +× +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrFmt == Extra "error types" @@ -179,7 +193,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -204,6 +218,7 @@ opaque ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -226,6 +241,7 @@ opaque ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outer @@ -283,10 +299,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrNoFmt == Extra "error types" @@ -294,7 +319,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -321,6 +346,7 @@ fmt outer outer2ndline ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, msg: "outer\nouter2ndline", } @@ -346,6 +372,7 @@ fmt outer outer2ndline ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, msg: "outer\nouter2ndline", } @@ -397,7 +424,7 @@ Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueWrapper (3) *errbase.opaqu == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outer›: ‹middle›: ‹inner› -(1) ‹outer›‹› +(1) ‹outer› ‹ | outer2ndline› ‹ | -- this is outer› ‹ | outer2ndline's› @@ -417,11 +444,24 @@ Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueWrapper (3) *errbase.opaqu ===== Sentry reporting ===== == Message payload +×: ×: × +(1) × +× +× × -×: × -×: × × --- +Wraps: (2) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueWrapper (3) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrNoFmt *fmttests.werrFmt @@ -431,7 +471,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×: ×\n×" +Title: "×: ×: ×" (NO STACKTRACE) run @@ -458,6 +498,7 @@ opaque ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outer\nouter2ndline", details: errorspb.EncodedErrorDetails{ @@ -466,6 +507,7 @@ opaque ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -489,6 +531,7 @@ opaque ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outer\nouter2ndline", details: errorspb.EncodedErrorDetails{ @@ -497,6 +540,7 @@ opaque ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outer @@ -566,11 +610,24 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errbase. ===== Sentry reporting ===== == Message payload -× -×: × -×: × -× --- +×: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrNoFmt *fmttests.werrNoFmt @@ -580,7 +637,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×: ×\n×" +Title: "×: ×: ×" (NO STACKTRACE) run @@ -609,6 +666,7 @@ fmt extern extern2ndline ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outer\nouter2ndline", details: errorspb.EncodedErrorDetails{ @@ -617,6 +675,7 @@ fmt extern extern2ndline ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, msg: "extern\nextern2ndline", } @@ -643,6 +702,7 @@ fmt extern extern2ndline ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outer\nouter2ndline", details: errorspb.EncodedErrorDetails{ @@ -651,6 +711,7 @@ fmt extern extern2ndline ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, msg: "extern\nextern2ndline", } @@ -709,7 +770,7 @@ Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueWrapper (3) *errbase.opaqu == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹extern›: ‹outer›: ‹middle›: ‹inner› -(1) ‹extern›‹› +(1) ‹extern› ‹ | extern2ndline› ‹ | -- this is extern› ‹ | extern2ndline's› @@ -734,12 +795,29 @@ Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueWrapper (3) *errbase.opaqu ===== Sentry reporting ===== == Message payload +×: ×: ×: × +(1) × × -×: × -×: × -×: × × --- +× +× +Wraps: (2) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (3) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.werrFmt (2) *errbase.opaqueWrapper (3) *errbase.opaqueWrapper (4) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrNoFmt *fmttests.werrNoFmt @@ -751,5 +829,5 @@ github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×: ×\n×: ×\n×" +Title: "×: ×: ×: ×" (NO STACKTRACE) diff --git a/fmttests/testdata/format/wrap-fmt b/fmttests/testdata/format/wrap-fmt index 3e0d0d2..1a159fe 100644 --- a/fmttests/testdata/format/wrap-fmt +++ b/fmttests/testdata/format/wrap-fmt @@ -6,8 +6,8 @@ require (?s) ---- &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, }, stack: &stack{...}, @@ -19,8 +19,8 @@ require (?s) == %#v &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, }, stack: &stack{...}, @@ -39,7 +39,7 @@ innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -73,7 +73,7 @@ Wraps: (3) innerone | | innertwo's | | multi-line leaf payload | Error types: (1) *fmttests.errFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -95,7 +95,7 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barr (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -123,40 +123,77 @@ Wraps: (3) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | ‹ | -- this is innerone› | ‹ | innertwo's› | ‹ | multi-line leaf payload› | Error types: (1) *fmttests.errFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | × + | × + | × + | Error types: (1) *fmttests.errFmt +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × :: *withstack.withStack (top exception) *assert.withAssertionFailure == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -166,11 +203,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -181,8 +218,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -197,8 +234,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -220,7 +257,7 @@ assertmsg: outerthree: innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -256,7 +293,7 @@ Wraps: (4) innerone | | innertwo's | | multi-line leaf payload | Error types: (1) *fmttests.errFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -279,7 +316,7 @@ assertmsg: ‹outerthree›: ‹innerone› (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -309,47 +346,81 @@ Wraps: (4) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | ‹ | -- this is innerone› | ‹ | innertwo's› | ‹ | multi-line leaf payload› | Error types: (1) *fmttests.errFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError -*errutil.withPrefix: assertmsg: × (1) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | × + | × + | × + | Error types: (1) *fmttests.errFmt +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -359,11 +430,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -371,16 +442,16 @@ barrier outerthree outerfour require (?s) ---- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, } == Error() @@ -403,7 +474,7 @@ innerone | | innertwo's | | multi-line leaf payload | Error types: (1) *fmttests.errFmt -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -426,26 +497,36 @@ Error types: (1) *barriers.barrierError | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | ‹ | -- this is innerone› | ‹ | innertwo's› | ‹ | multi-line leaf payload› | Error types: (1) *fmttests.errFmt -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | × + | × + | × + | Error types: (1) *fmttests.errFmt +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run @@ -506,11 +587,11 @@ Error types: (1) *fmttests.werrDelegate (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- multi-line› ‹ | wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -520,10 +601,18 @@ Error types: (1) *fmttests.werrDelegate (2) *fmttests.errFmt ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +× +× +Wraps: (2) × × --- +× +× +× +Error types: (1) *fmttests.werrDelegate (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrDelegate == Extra "error types" @@ -531,7 +620,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -586,7 +675,7 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *fmttests.errFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -597,8 +686,14 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *fmttests.errFmt ===== == Message payload × +(1) +Wraps: (2) × +× +× × --- +× +Error types: (1) *fmttests.werrDelegateEmpty (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrDelegateEmpty == Extra "error types" @@ -606,7 +701,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -661,7 +756,7 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *fmttests.errFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) ‹detail› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -672,8 +767,14 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *fmttests.errFmt ===== == Message payload × +(1) × +Wraps: (2) × +× × --- +× +× +Error types: (1) *fmttests.werrDelegateNoPrefix (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrDelegateNoPrefix == Extra "error types" @@ -681,7 +782,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -740,7 +841,7 @@ Error types: (1) *hintdetail.withDetail (2) *fmttests.errFmt ‹innerone› (1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -751,8 +852,15 @@ Error types: (1) *hintdetail.withDetail (2) *fmttests.errFmt ===== == Message payload × +(1) × × --- +Wraps: (2) × +× +× +× +× +Error types: (1) *hintdetail.withDetail (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *hintdetail.withDetail == Extra "error types" @@ -760,7 +868,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -817,7 +925,7 @@ Error types: (1) *domains.withDomain (2) *fmttests.errFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) mydomain -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -828,19 +936,22 @@ Error types: (1) *domains.withDomain (2) *fmttests.errFmt ===== == Message payload × +(1) mydomain +Wraps: (2) × +× × --- +× +× +Error types: (1) *domains.withDomain (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -897,9 +1008,9 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -910,8 +1021,15 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *fmttests.errFmt ===== == Message payload × +(1) × +× +Wraps: (2) × +× × --- +× +× +Error types: (1) *fmttests.werrWithElidedCause (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrWithElidedCause == Extra "error types" @@ -919,7 +1037,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -974,7 +1092,7 @@ Error types: (1) *fmttests.werrEmpty (2) *fmttests.errFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -985,8 +1103,14 @@ Error types: (1) *fmttests.werrEmpty (2) *fmttests.errFmt ===== == Message payload × +(1) +Wraps: (2) × +× +× +× × --- +Error types: (1) *fmttests.werrEmpty (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrEmpty == Extra "error types" @@ -994,7 +1118,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1056,12 +1180,12 @@ Error types: (1) *fmttests.werrFmt (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- this is outerthree› ‹ | outerfour's› ‹ | multi-line wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -1071,10 +1195,19 @@ Error types: (1) *fmttests.werrFmt (2) *fmttests.errFmt ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +× +× +× +Wraps: (2) × × --- +× +× +× +Error types: (1) *fmttests.werrFmt (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrFmt == Extra "error types" @@ -1082,7 +1215,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1155,9 +1288,9 @@ Error types: (1) *fmttests.werrFmto (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -1167,10 +1300,16 @@ Error types: (1) *fmttests.werrFmto (2) *fmttests.errFmt ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +× +× +× +Error types: (1) *fmttests.werrFmto (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrFmto == Extra "error types" @@ -1178,7 +1317,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1251,9 +1390,9 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -1263,10 +1402,16 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *fmttests.errFmt ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +× +× +× +Error types: (1) *fmttests.werrFmtoDelegate (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrFmtoDelegate == Extra "error types" @@ -1274,7 +1419,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1333,9 +1478,9 @@ Error types: (1) *fmttests.werrFmtp (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -1345,10 +1490,16 @@ Error types: (1) *fmttests.werrFmtp (2) *fmttests.errFmt ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +× +× +× +Error types: (1) *fmttests.werrFmtp (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrFmtp == Extra "error types" @@ -1356,12 +1507,12 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run fmt innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v @@ -1369,17 +1520,17 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)outerthree.*outerfour.* ---- &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &fmttests.errFmt{msg:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*fmttests.errFmt)(0xAAAABBBB)} +&fmt.wrapError{msg:"outerthree\nouterfour - innerone\ninnertwo", err:(*fmttests.errFmt)(0xAAAABBBB)} == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1389,16 +1540,17 @@ innertwo == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &fmttests.errFmt{msg:"innerone\ninnertwo"}, } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo Wraps: (2) innerone | innertwo | -- this is innerone @@ -1410,7 +1562,7 @@ Error types: (1) *fmt.wrapError (2) *fmttests.errFmt ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1418,10 +1570,11 @@ Error types: (1) *fmt.wrapError (2) *fmttests.errFmt == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› -Wraps: (2) ‹innerone›‹› +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - innerone› +‹ | innertwo› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -1432,9 +1585,16 @@ Error types: (1) *fmt.wrapError (2) *fmttests.errFmt ===== == Message payload × -×: × +(1) × +× +× +Wraps: (2) × +× × --- +× +× +Error types: (1) *fmt.wrapError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmt.wrapError == Extra "error types" @@ -1442,366 +1602,429 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×" (NO STACKTRACE) run fmt innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - }, - domain: "error domain: pkg ", -} +&fmt.wrapErrors{msg:"outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", errs:[]error{(*fmttests.errFmt)(0xAAAABBBB), (*errors.fundamental)(0xAAAABBBB)}} == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone - | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | | -- this is innerone - | | innertwo's - | | multi-line leaf payload - | Error types: (1) *fmttests.errFmt -Error types: (1) *domains.withDomain (2) *barriers.barrierError -== %#v via Formattable() = %#v, good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, + }, +} == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good -===== -===== redactable formats -===== -== printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone›‹› - | ‹ | innertwo› - | ‹ | -- this is innerone› - | ‹ | innertwo's› - | ‹ | multi-line leaf payload› - | Error types: (1) *fmttests.errFmt -Error types: (1) *domains.withDomain (2) *barriers.barrierError -===== -===== Sentry reporting -===== -== Message payload -× -× --- -*barriers.barrierError -*domains.withDomain: error domain: pkg (1) -(check the extra data payloads) -== Extra "1: details" -error domain: pkg -== Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) - -run -fmt innerone innertwo -hint outerthree outerfour - -require (?s) ----- -&hintdetail.withHint{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", -} -===== -===== non-redactable formats -===== -== %#v -&hintdetail.withHint{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", -} -== Error() -innerone -innertwo -== %v = Error(), good -== %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v -innerone +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree (1) outerthree - | outerfour -Wraps: (2) innerone + | outerfour - innerone + | innertwo sibling error in wrapper +Wraps: (2) sibling error in wrapper + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone | innertwo | -- this is innerone | innertwo's | multi-line leaf payload -Error types: (1) *hintdetail.withHint (2) *fmttests.errFmt -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *fmttests.errFmt ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree› (1) ‹outerthree› -‹ | outerfour› -Wraps: (2) ‹innerone›‹› +‹ | outerfour - innerone› +‹ | innertwo sibling error in wrapper› +Wraps: (2) ‹sibling error in wrapper› +‹ | github.com/cockroachdb/errors/fmttests.init.func23› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Wraps: (3) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› ‹ | multi-line leaf payload› -Error types: (1) *hintdetail.withHint (2) *fmttests.errFmt +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *fmttests.errFmt ===== ===== Sentry reporting ===== == Message payload × +(1) × +× +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +Wraps: (3) × +× +× +× +× +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *fmttests.errFmt +-- report composition: +:: *errors.fundamental (top exception) *fmttests.errFmt -*hintdetail.withHint +*fmt.wrapErrors == Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapErrors (*::) == Exception 1 (Module: "error domain: ") -Type: "*fmttests.errFmt" -Title: "×\n×" -(NO STACKTRACE) +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo -issuelink outerthree outerfour +go-errorf-suffix outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s).*outerthree.*outerfour ---- -&issuelink.withIssueLink{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &fmttests.errFmt{msg:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, -} +&fmt.wrapError{msg:"innerone\ninnertwo - outerthree\nouterfour", err:(*fmttests.errFmt)(0xAAAABBBB)} == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &fmttests.errFmt{msg:"innerone\ninnertwo"}, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) innerone -(1) issue: https://mysite - | detail: outerthree +(1) innerone + | innertwo - outerthree | outerfour Wraps: (2) innerone | innertwo | -- this is innerone | innertwo's | multi-line leaf payload -Error types: (1) *issuelink.withIssueLink (2) *fmttests.errFmt -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapError (2) *fmttests.errFmt ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v ‹innerone› -‹innertwo› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone›‹› +(1) ‹innerone› +‹ | innertwo - outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› ‹ | multi-line leaf payload› -Error types: (1) *issuelink.withIssueLink (2) *fmttests.errFmt +Error types: (1) *fmt.wrapError (2) *fmttests.errFmt ===== ===== Sentry reporting ===== == Message payload × +(1) × +× +× +Wraps: (2) × +× +× +× × --- +Error types: (1) *fmt.wrapError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run fmt innerone innertwo -migrated outerthree outerfour +goerr outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&fmttests.werrMigrated{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &fmttests.errFmt{msg:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&fmttests.werrMigrated{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, -} +&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*fmttests.errFmt)(0xAAAABBBB)} == Error() -innerone +outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -innerone -(1) +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &fmttests.errFmt{msg:"innerone\ninnertwo"}, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree: innerone +(1) outerthree + | outerfour Wraps: (2) innerone | innertwo | -- this is innerone | innertwo's | multi-line leaf payload -Error types: (1) *fmttests.werrMigrated (2) *fmttests.errFmt -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapError (2) *fmttests.errFmt ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) -Wraps: (2) ‹innerone›‹› +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree›: ‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› ‹ | multi-line leaf payload› -Error types: (1) *fmttests.werrMigrated (2) *fmttests.errFmt +Error types: (1) *fmt.wrapError (2) *fmttests.errFmt ===== ===== Sentry reporting ===== == Message payload +×: × +(1) × +× +Wraps: (2) × +× × × --- +× +Error types: (1) *fmt.wrapError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*fmttests.werrMigrated +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run fmt innerone innertwo -msg outerthree outerfour +handled-domain outerthree outerfour -require (?s)outerthree.*outerfour.* +require (?s) ---- -&errutil.withPrefix{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + }, + domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + }, + domain: "error domain: pkg ", } == Error() -outerthree -outerfour: innerone +innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1809,7 +2032,105 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone +innerone +(1) error domain: pkg +Wraps: (2) innerone + | innertwo + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | | -- this is innerone + | | innertwo's + | | multi-line leaf payload + | Error types: (1) *fmttests.errFmt +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) error domain: pkg +Wraps: (2) ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | ‹ | -- this is innerone› + | ‹ | innertwo's› + | ‹ | multi-line leaf payload› + | Error types: (1) *fmttests.errFmt +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +× +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | × + | × + | × + | Error types: (1) *fmttests.errFmt +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" +(NO STACKTRACE) + +run +fmt innerone innertwo +hint outerthree outerfour + +require (?s) +---- +&hintdetail.withHint{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&hintdetail.withHint{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone (1) outerthree | outerfour Wraps: (2) innerone @@ -1817,7 +2138,7 @@ Wraps: (2) innerone | -- this is innerone | innertwo's | multi-line leaf payload -Error types: (1) *errutil.withPrefix (2) *fmttests.errFmt +Error types: (1) *hintdetail.withHint (2) *fmttests.errFmt == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1827,8 +2148,7 @@ Error types: (1) *errutil.withPrefix (2) *fmttests.errFmt ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› +‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1836,48 +2156,1592 @@ outerfour: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree +‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *hintdetail.withHint (2) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +× +(1) × +× +Wraps: (2) × +× +× +× +× +Error types: (1) *hintdetail.withHint (2) *fmttests.errFmt +-- report composition: +*fmttests.errFmt +*hintdetail.withHint +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "×" +(NO STACKTRACE) + +run +fmt innerone innertwo +issuelink outerthree outerfour + +require (?s) +---- +&issuelink.withIssueLink{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +===== +===== non-redactable formats +===== +== %#v +&issuelink.withIssueLink{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *issuelink.withIssueLink (2) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) issue: https://mysite + | detail: outerthree | outerfour -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› ‹ | multi-line leaf payload› -Error types: (1) *errutil.withPrefix (2) *fmttests.errFmt +Error types: (1) *issuelink.withIssueLink (2) *fmttests.errFmt ===== ===== Sentry reporting ===== == Message payload +× +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × +× +× +× +× +Error types: (1) *issuelink.withIssueLink (2) *fmttests.errFmt +-- report composition: +*fmttests.errFmt +*issuelink.withIssueLink: https://mysite +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "×" +(NO STACKTRACE) + +run +fmt innerone innertwo +join outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s) +---- +&join.joinError{ + errs: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +== Error() +innerone +innertwo outerthree -outerfour: × +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × +× +× +× +× +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *fmttests.errFmt +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*fmttests.errFmt +*join.joinError +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +migrated outerthree outerfour + +require (?s) +---- +&fmttests.werrMigrated{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrMigrated{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) +Wraps: (2) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *fmttests.werrMigrated (2) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *fmttests.werrMigrated (2) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +× +(1) +Wraps: (2) × +× +× +× +× +Error types: (1) *fmttests.werrMigrated (2) *fmttests.errFmt +-- report composition: +*fmttests.errFmt +*fmttests.werrMigrated +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "×" +(NO STACKTRACE) + +run +fmt innerone innertwo +msg outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&errutil.withPrefix{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *errutil.withPrefix (2) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *errutil.withPrefix (2) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × +× +× +× +× +Error types: (1) *errutil.withPrefix (2) *fmttests.errFmt +-- report composition: +*fmttests.errFmt +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "outerthree: ×" +(NO STACKTRACE) + +run +fmt innerone innertwo +multi-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +× +× +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errFmt +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +multi-elided-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +× +× +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errFmt +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +newfw outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + }, + stack: &stack{...}, +} +===== +===== non-redactable formats +===== +== %#v +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + }, + stack: &stack{...}, +} +== Error() +new-style (outerthree +outerfour) :: innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | | -- this is innerone + | | innertwo's + | | multi-line leaf payload + | Error types: (1) *fmttests.errFmt +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style (‹outerthree› +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | ‹ | -- this is innerone› + | ‹ | innertwo's› + | ‹ | multi-line leaf payload› + | Error types: (1) *fmttests.errFmt +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +:: new-style (× +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | × + | × + | × + | Error types: (1) *fmttests.errFmt +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × +× +× +× × --- +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*errutil.withPrefix: outerthree (1) -(check the extra data payloads) -== Extra "1: details" -outerthree - outerfour +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError +:: *withstack.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "*fmttests.errFmt" -Title: "outerthree\nouterfour: ×\n×" -(NO STACKTRACE) +Type: ": ...funcNN... +Title: "*fmttests.errFmt: new-style (×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour -require (?s)outerthree.*outerfour.* +require (?s).*outerthree.*outerfour ---- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &fmttests.errFmt{msg:"innerone\ninnertwo"}, }, @@ -1891,26 +3755,26 @@ require (?s)outerthree.*outerfour.* cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &fmttests.errFmt{msg:"innerone\ninnertwo"}, }, stack: &stack{...}, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +:: innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1942,9 +3806,9 @@ Wraps: (2) secondary error attachment | | innertwo's | | multi-line leaf payload | Error types: (1) *fmttests.errFmt -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) Wraps: (4) innerone | innertwo | -- this is innerone @@ -1960,19 +3824,19 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +:: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1998,16 +3862,16 @@ new-style (‹outerthree› | : Wraps: (2) secondary error attachment | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | ‹ | -- this is innerone› | ‹ | innertwo's› | ‹ | multi-line leaf payload› | Error types: (1) *fmttests.errFmt -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: -Wraps: (4) ‹innerone›‹› +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) +Wraps: (4) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2017,37 +3881,73 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== Sentry reporting ===== == Message payload -:: new-style (× -×) :: × -× :: --- +:: :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | × + | × + | × + | Error types: (1) *fmttests.errFmt +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × +× +× +× +× +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*errutil.withNewMessage: new-style (× (1) +*errutil.withNewMessage: :: × *secondary.withSecondaryError :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func39)" -Title: "*fmttests.errFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: :: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2057,11 +3957,11 @@ Title: "*fmttests.errFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -2123,9 +4023,9 @@ Error types: (1) *fmttests.werrNoFmt (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2135,10 +4035,16 @@ Error types: (1) *fmttests.werrNoFmt (2) *fmttests.errFmt ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +Wraps: (2) × +× +× +× +× +Error types: (1) *fmttests.werrNoFmt (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fmttests.werrNoFmt == Extra "error types" @@ -2146,7 +4052,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2211,7 +4117,7 @@ link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› (1) link ‹/path/to/file› ‹/path/to/newfile› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2222,8 +4128,14 @@ Error types: (1) *os.LinkError (2) *fmttests.errFmt ===== == Message payload link × ×: × +(1) link × × +Wraps: (2) × +× +× × --- +× +Error types: (1) *os.LinkError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *os.LinkError == Extra "error types" @@ -2231,7 +4143,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "link × ×: ×\n×" +Title: "link × ×: ×" (NO STACKTRACE) run @@ -2298,7 +4210,7 @@ send tcp ‹unixhello›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() send tcp ‹unixhello›: ‹innerone› (1) send tcp ‹unixhello› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2309,8 +4221,14 @@ Error types: (1) *net.OpError (2) *fmttests.errFmt ===== == Message payload send tcp ×: × +(1) send tcp × +Wraps: (2) × +× × --- +× +× +Error types: (1) *net.OpError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *net.OpError == Extra "error types" @@ -2318,7 +4236,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "send tcp ×: ×\n×" +Title: "send tcp ×: ×" (NO STACKTRACE) run @@ -2381,7 +4299,7 @@ link ‹/path/to/file›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file›: ‹innerone› (1) link ‹/path/to/file› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2392,8 +4310,14 @@ Error types: (1) *fs.PathError (2) *fmttests.errFmt ===== == Message payload link ×: × +(1) link × +Wraps: (2) × × --- +× +× +× +Error types: (1) *fs.PathError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *fs.PathError == Extra "error types" @@ -2401,7 +4325,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "link ×: ×\n×" +Title: "link ×: ×" (NO STACKTRACE) run @@ -2462,7 +4386,7 @@ open: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() open: ‹innerone› (1) open -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2473,8 +4397,14 @@ Error types: (1) *os.SyscallError (2) *fmttests.errFmt ===== == Message payload open: × +(1) open +Wraps: (2) × +× +× × --- +× +Error types: (1) *os.SyscallError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *os.SyscallError == Extra "error types" @@ -2482,7 +4412,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "open: ×\n×" +Title: "open: ×" (NO STACKTRACE) run @@ -2563,9 +4493,9 @@ Error types: (1) *errors.withMessage (2) *fmttests.errFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2575,10 +4505,16 @@ Error types: (1) *errors.withMessage (2) *fmttests.errFmt ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × +× +× × --- +× +Error types: (1) *errors.withMessage (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt *errors.withMessage == Extra "error types" @@ -2586,7 +4522,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2628,7 +4564,7 @@ innerone | innertwo's | multi-line leaf payload Error types: (1) *fmttests.errFmt -github.com/cockroachdb/errors/fmttests.glob..func26 +github.com/cockroachdb/errors/fmttests.init.func30 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -2664,7 +4600,7 @@ runtime.goexit innerone (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2709,7 +4645,44 @@ Error types: (1) *errors.withStack (2) *fmttests.errFmt ‹innerone› (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | -- this is innerone› +‹ | innertwo's› +‹ | multi-line leaf payload› +Error types: (1) *errors.withStack (2) *fmttests.errFmt +===== +===== Sentry reporting +===== +== Message payload +:: × +(1) + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2733,72 +4706,153 @@ Error types: (1) *errors.withStack (2) *fmttests.errFmt | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) × +× +× +× +× +Error types: (1) *errors.withStack (2) *fmttests.errFmt +-- report composition: +*fmttests.errFmt +:: *errors.withStack (top exception) +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/pkg/errors/*errors.withStack (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*fmttests.errFmt: ×\nvia *errors.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +safedetails outerthree outerfour + +require (?s) +---- +&safedetails.withSafeDetails{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + safeDetails: {"safe ×\n×"}, +} +===== +===== non-redactable formats +===== +== %#v +&safedetails.withSafeDetails{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + safeDetails: {"safe ×\n×"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) safe × + | × +Wraps: (2) innerone + | innertwo + | -- this is innerone + | innertwo's + | multi-line leaf payload +Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) safe × + | × +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› ‹ | multi-line leaf payload› -Error types: (1) *errors.withStack (2) *fmttests.errFmt +Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errFmt ===== ===== Sentry reporting ===== == Message payload -:: × × --- +(1) safe × + | × +Wraps: (2) × +× +× +× +× +Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -:: *errors.withStack (top exception) +*safedetails.withSafeDetails: safe × == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/pkg/errors/*errors.withStack (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func26)" -Title: "*fmttests.errFmt: ×\n×\nvia *errors.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func26() +Type: "*fmttests.errFmt" +Title: "×" +(NO STACKTRACE) run fmt innerone innertwo -safedetails outerthree outerfour +safefmt outerthree outerfour -require (?s) +require (?s)outerthree.*outerfour.* ---- -&safedetails.withSafeDetails{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - safeDetails: {"safe ×\n×"}, +&fmttests.werrSafeFormat{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + msg: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&safedetails.withSafeDetails{ - cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, - safeDetails: {"safe ×\n×"}, +&fmttests.werrSafeFormat{ + cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, + msg: "outerthree\nouterfour", } == Error() -innerone +safe outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2806,15 +4860,15 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) safe × - | × +safe outerthree: innerone +(1) safe outerthree + | outerfour Wraps: (2) innerone | innertwo | -- this is innerone | innertwo's | multi-line leaf payload -Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errFmt +Error types: (1) *fmttests.werrSafeFormat (2) *fmttests.errFmt == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2824,7 +4878,8 @@ Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errFmt ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +safe ‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2832,34 +4887,37 @@ Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errFmt == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) safe × - | × -Wraps: (2) ‹innerone›‹› +safe ‹outerthree›: ‹innerone› +(1) safe ‹outerthree› + | ‹outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› ‹ | multi-line leaf payload› -Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errFmt +Error types: (1) *fmttests.werrSafeFormat (2) *fmttests.errFmt ===== ===== Sentry reporting ===== == Message payload +safe ×: × +(1) safe × + | × +Wraps: (2) × × × --- +× +× +Error types: (1) *fmttests.werrSafeFormat (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "safe ×: ×" (NO STACKTRACE) run @@ -2868,7 +4926,6 @@ secondary outerthree outerfour require (?s) ---- ----- &secondary.withSecondaryError{ cause: &fmttests.errFmt{msg:"innerone\ninnertwo"}, secondaryError: &withstack.withStack{ @@ -2901,7 +4958,7 @@ innerone | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -2956,7 +5013,7 @@ Error types: (1) *secondary.withSecondaryError (2) *fmttests.errFmt | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -2983,7 +5040,7 @@ Error types: (1) *secondary.withSecondaryError (2) *fmttests.errFmt | Wraps: (2) outerthree | | outerfour | Error types: (1) *withstack.withStack (2) *errutil.leafError -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -2994,50 +5051,53 @@ Error types: (1) *secondary.withSecondaryError (2) *fmttests.errFmt ===== == Message payload × +(1) secondary error attachment + | outerthree + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (2) × +× +× × --- +× +Error types: (1) *secondary.withSecondaryError (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) ----- ----- run fmt innerone innertwo @@ -3069,7 +5129,7 @@ innertwo innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3119,7 +5179,7 @@ Error types: (1) *withstack.withStack (2) *fmttests.errFmt ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3143,7 +5203,7 @@ Error types: (1) *withstack.withStack (2) *fmttests.errFmt | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -3154,26 +5214,57 @@ Error types: (1) *withstack.withStack (2) *fmttests.errFmt ===== == Message payload :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × +× +× +× × --- +Error types: (1) *withstack.withStack (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt :: *withstack.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func37)" -Title: "*fmttests.errFmt: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3183,11 +5274,11 @@ Title: "*fmttests.errFmt: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -3299,7 +5390,7 @@ Error types: (1) *contexttags.withContext (2) *fmttests.errFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) tags: [k‹123›,safe=456] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -3310,20 +5401,22 @@ Error types: (1) *contexttags.withContext (2) *fmttests.errFmt ===== == Message payload × +(1) tags: [k×,safe=456] +Wraps: (2) × +× +× × --- +× +Error types: (1) *contexttags.withContext (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3382,7 +5475,7 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *fmttests.errFmt ‹innerone› (1) keys: [somekey outerthree | outerfour] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -3393,21 +5486,23 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *fmttests.errFmt ===== == Message payload × +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × +× +× × --- +× +Error types: (1) *telemetrykeys.withTelemetry (2) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3447,7 +5542,7 @@ innertwo new-stylew outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3500,7 +5595,7 @@ new-stylew ‹outerthree› new-stylew ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3526,7 +5621,7 @@ new-stylew ‹outerthree›: ‹innerone› | : Wraps: (2) new-stylew ‹outerthree› | ‹outerfour› -Wraps: (3) ‹innerone›‹› +Wraps: (3) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -3536,34 +5631,62 @@ Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *fmttests.errF ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × +:: new-stylew ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) × × --- +× +× +× +Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*errutil.withPrefix: new-stylew × (1) +*errutil.withPrefix: new-stylew × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func40)" -Title: "*fmttests.errFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: new-stylew ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3573,11 +5696,11 @@ Title: "*fmttests.errFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -3585,7 +5708,6 @@ wrapf-attached outerthree outerfour require (?s)outerthree.*outerfour.* ---- ----- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -3629,7 +5751,7 @@ innertwo new-style outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3657,7 +5779,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3712,7 +5834,7 @@ new-style ‹outerthree› new-style ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3740,7 +5862,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3768,7 +5890,7 @@ Wraps: (2) secondary error attachment | Error types: (1) *withstack.withStack (2) *errutil.leafError Wraps: (3) new-style ‹outerthree› | ‹outerfour› (payload) -Wraps: (4) ‹innerone›‹› +Wraps: (4) ‹innerone› ‹ | innertwo› ‹ | -- this is innerone› ‹ | innertwo's› @@ -3778,65 +5900,94 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × +:: new-style ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × +× +× +× × --- +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *fmttests.errFmt +-- report composition: *fmttests.errFmt -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func51)" -Title: "*fmttests.errFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: new-style ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3846,10 +5997,8 @@ Title: "*fmttests.errFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.wit :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-fmt-via-network b/fmttests/testdata/format/wrap-fmt-via-network index a7c96e6..8cb4e6b 100644 --- a/fmttests/testdata/format/wrap-fmt-via-network +++ b/fmttests/testdata/format/wrap-fmt-via-network @@ -7,8 +7,8 @@ require (?s)innerone.*innertwo ---- &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -23,9 +23,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -34,8 +35,8 @@ require (?s)innerone.*innertwo == %#v &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -50,9 +51,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -71,7 +73,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -105,7 +107,7 @@ Wraps: (3) innerone | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -130,7 +132,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -164,34 +166,74 @@ Wraps: (3) ‹innerone› | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × :: *withstack.withStack (top exception) *assert.withAssertionFailure == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -201,11 +243,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -217,8 +259,8 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -235,9 +277,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -247,8 +290,8 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -265,9 +308,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -287,7 +331,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -323,7 +367,7 @@ Wraps: (4) innerone | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -349,7 +393,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -385,41 +429,78 @@ Wraps: (4) ‹innerone› | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError -*errutil.withPrefix: assertmsg: × (1) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -429,11 +510,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -442,8 +523,8 @@ opaque require (?s)innerone.*innertwo ---- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -458,8 +539,8 @@ require (?s)innerone.*innertwo ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -490,7 +571,7 @@ innerone | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -519,20 +600,30 @@ Error types: (1) *barriers.barrierError | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run @@ -559,6 +650,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -581,6 +673,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -638,10 +731,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrDelegate == Extra "error types" @@ -649,7 +751,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -676,6 +778,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -698,6 +801,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -750,8 +854,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrDelegateEmpty == Extra "error types" @@ -759,7 +871,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -786,6 +898,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -808,6 +921,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -860,8 +974,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrDelegateNoPrefix == Extra "error types" @@ -869,7 +991,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -956,8 +1078,15 @@ Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueLeaf ===== == Message payload × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *hintdetail.withDetail == Extra "error types" @@ -965,7 +1094,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1050,19 +1179,22 @@ Error types: (1) *domains.withDomain (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) mydomain +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *domains.withDomain (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1136,7 +1268,7 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› @@ -1149,8 +1281,15 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf ===== == Message payload × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrWithElidedCause == Extra "error types" @@ -1158,7 +1297,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1185,6 +1324,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1207,6 +1347,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -1259,8 +1400,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrEmpty == Extra "error types" @@ -1268,7 +1417,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1295,6 +1444,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1317,6 +1467,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1374,10 +1525,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrFmt == Extra "error types" @@ -1385,7 +1545,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1415,6 +1575,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1437,6 +1598,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1494,10 +1656,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrFmto == Extra "error types" @@ -1505,7 +1676,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1535,6 +1706,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1557,6 +1729,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1614,10 +1787,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrFmtoDelegate == Extra "error types" @@ -1625,7 +1807,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1652,6 +1834,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1674,6 +1857,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1731,10 +1915,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrFmtp == Extra "error types" @@ -1742,12 +1935,12 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run fmt innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -1765,13 +1958,14 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } ===== ===== non-redactable formats @@ -1787,17 +1981,18 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1805,9 +2000,10 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -1827,7 +2023,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1835,9 +2031,10 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹outerthree›: ‹innerone› +‹outerthree› (1) ‹outerthree› - | ‹outerfour› + | ‹outerfour - innerone› + | ‹innertwo› | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -1852,9 +2049,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -×: × -× --- +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmt.wrapError == Extra "error types" @@ -1862,20 +2069,31 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×" (NO STACKTRACE) run fmt innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errbase.opaqueLeaf{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", @@ -1884,17 +2102,33 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errbase.opaqueLeaf{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", @@ -1903,31 +2137,70 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, }, - domain: "error domain: pkg ", } == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone - | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | | - | | (opaque error leaf) - | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt - | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *domains.withDomain (2) *barriers.barrierError +outerthree +(1) outerthree + | outerfour - innerone + | innertwo sibling error in wrapper + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) sibling error in wrapper + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1937,55 +2210,152 @@ Error types: (1) *domains.withDomain (2) *barriers.barrierError ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› +‹outerthree› +(1) ‹outerthree› + | ‹outerfour - innerone› + | ‹innertwo sibling error in wrapper› + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) ‹sibling error in wrapper› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) ‹innerone› | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone› - | | ‹innertwo› - | | - | | (opaque error leaf) - | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt - | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *domains.withDomain (2) *barriers.barrierError + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError -*domains.withDomain: error domain: pkg (1) -(check the extra data payloads) -== Extra "1: details" -error domain: pkg +(1) × + | × + | × + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.errFmt +*fmt.wrapErrors == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +fmt/*fmt.wrapErrors (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo -hint outerthree outerfour +go-errorf-suffix outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- -&hintdetail.withHint{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -1995,13 +2365,20 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - hint: "outerthree\nouterfour", + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } ===== ===== non-redactable formats ===== == %#v -&hintdetail.withHint{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2011,11 +2388,19 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - hint: "outerthree\nouterfour", + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good @@ -2023,14 +2408,18 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) outerthree +(1) innerone + | innertwo - outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2041,7 +2430,8 @@ Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf ===== == printed via redact Print(), ok - congruent with %v ‹innerone› -‹innertwo› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good @@ -2049,39 +2439,57 @@ Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) ‹outerthree› -‹ | outerfour› +(1) ‹innerone› + | ‹innertwo - outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload × -× --- +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*hintdetail.withHint +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run fmt innerone innertwo -issuelink outerthree outerfour +goerr outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2091,13 +2499,20 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2107,10 +2522,18 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -innerone +outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2118,16 +2541,18 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) issue: https://mysite - | detail: outerthree +outerthree: innerone +(1) outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2137,7 +2562,8 @@ Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2145,46 +2571,174 @@ Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone› - | ‹innertwo› - | +‹outerthree›: ‹innerone› +(1) ‹outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) ‹innerone› + | ‹innertwo› + | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -× -× --- +×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run fmt innerone innertwo -migrated outerthree outerfour +handled-domain outerthree outerfour opaque require (?s)innerone.*innertwo ---- -&errbase.opaqueWrapper{ +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + domain: "error domain: pkg ", +} +===== +===== non-redactable formats +===== +== %#v +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + domain: "error domain: pkg ", +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) error domain: pkg +Wraps: (2) innerone + | innertwo + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) error domain: pkg +Wraps: (2) ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | | ‹innertwo› + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +× +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" +(NO STACKTRACE) + +run +fmt innerone innertwo +hint outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&hintdetail.withHint{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2194,19 +2748,13 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, + hint: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&errbase.opaqueWrapper{ +&hintdetail.withHint{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2216,13 +2764,7 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, + hint: "outerthree\nouterfour", } == Error() innerone @@ -2234,15 +2776,14 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +(1) outerthree + | outerfour Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2261,40 +2802,46 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +(1) ‹outerthree› +‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*fmttests.werrMigrated +*hintdetail.withHint == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run fmt innerone innertwo -msg outerthree outerfour +issuelink outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- -&errutil.withPrefix{ +&issuelink.withIssueLink{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2304,13 +2851,13 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ +&issuelink.withIssueLink{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2320,11 +2867,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } == Error() -outerthree -outerfour: innerone +innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2332,15 +2878,16 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone -(1) outerthree +innerone +(1) issue: https://mysite + | detail: outerthree | outerfour Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2350,8 +2897,7 @@ Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› +‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2359,43 +2905,1962 @@ outerfour: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree +‹innerone› +(1) issue: https://mysite + | detail: outerthree | outerfour Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -outerthree -outerfour: × × --- +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*errutil.withPrefix: outerthree (1) -(check the extra data payloads) -== Extra "1: details" -outerthree - outerfour +*issuelink.withIssueLink: https://mysite == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "×" +(NO STACKTRACE) + +run +fmt innerone innertwo +join outerthree outerfour +opaque + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo +---- +&join.joinError{ + errs: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +== Error() +innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*fmttests.errFmt +*join.joinError +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +migrated outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: +*fmttests.errFmt +*fmttests.werrMigrated +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "×" +(NO STACKTRACE) + +run +fmt innerone innertwo +msg outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errutil.withPrefix{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +-- report composition: +*fmttests.errFmt +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "outerthree: ×" +(NO STACKTRACE) + +run +fmt innerone innertwo +multi-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +multi-elided-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +newfw outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +new-style (outerthree +outerfour) :: innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style (‹outerthree› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | | ‹innertwo› + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: new-style (× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +-- report composition: +*fmttests.errFmt +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError +:: *withstack.withStack (top exception) +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "*fmttests.errFmt" -Title: "outerthree\nouterfour: ×\n×" -(NO STACKTRACE) +Type: ": ...funcNN... +Title: "*fmttests.errFmt: new-style (×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ @@ -2409,7 +4874,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", @@ -2425,9 +4890,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2445,7 +4911,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", @@ -2461,27 +4927,28 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +:: innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: innerone (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2513,9 +4980,9 @@ Wraps: (2) secondary error attachment | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) Wraps: (4) innerone | innertwo | @@ -2531,22 +4998,22 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +:: ‹innerone› (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2578,9 +5045,9 @@ Wraps: (2) secondary error attachment | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt | Error types: (1) *errbase.opaqueLeaf -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) Wraps: (4) ‹innerone› | ‹innertwo› | @@ -2591,37 +5058,76 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== Sentry reporting ===== == Message payload -:: new-style (× -×) :: × -× :: --- +:: :: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*errutil.withNewMessage: new-style (× (1) +*errutil.withNewMessage: :: × *secondary.withSecondaryError :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func39)" -Title: "*fmttests.errFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: :: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2631,11 +5137,11 @@ Title: "*fmttests.errFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -2664,6 +5170,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2686,6 +5193,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2743,10 +5251,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fmttests.werrNoFmt == Extra "error types" @@ -2754,7 +5271,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2855,8 +5372,14 @@ Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf ===== == Message payload link × ×: × -× --- +(1) link × × +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *os.LinkError == Extra "error types" @@ -2864,7 +5387,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "link × ×: ×\n×" +Title: "link × ×: ×" (NO STACKTRACE) run @@ -2894,6 +5417,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2916,6 +5440,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() send tcp unixhello: innerone @@ -2970,8 +5495,17 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload ×: × -× --- +(1) × + | + | (opaque error wrapper) + | type name: net/*net.OpError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *net.OpError == Extra "error types" @@ -2979,7 +5513,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -3078,8 +5612,14 @@ Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf ===== == Message payload link ×: × -× --- +(1) link × +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *fs.PathError == Extra "error types" @@ -3087,7 +5627,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "link ×: ×\n×" +Title: "link ×: ×" (NO STACKTRACE) run @@ -3184,8 +5724,14 @@ Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf ===== == Message payload open: × -× --- +(1) open +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *os.SyscallError == Extra "error types" @@ -3193,7 +5739,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "open: ×\n×" +Title: "open: ×" (NO STACKTRACE) run @@ -3291,7 +5837,7 @@ Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› @@ -3303,10 +5849,16 @@ Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt *errors.withMessage == Extra "error types" @@ -3314,7 +5866,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -3343,9 +5895,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3365,9 +5918,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -3384,7 +5938,7 @@ innerone | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3437,7 +5991,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3472,26 +6026,60 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt :: *errors.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func26)" -Title: "*fmttests.errFmt: ×\n×\nvia *errors.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: ×\nvia *errors.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3501,20 +6089,123 @@ Title: "*fmttests.errFmt: ×\n×\nvia *errors.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func26() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +fmt innerone innertwo +safedetails outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&safedetails.withSafeDetails{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + safeDetails: {"safe ×\n×"}, +} +===== +===== non-redactable formats +===== +== %#v +&safedetails.withSafeDetails{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + safeDetails: {"safe ×\n×"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) safe × + | × +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) safe × + | × +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) safe × + | × +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +-- report composition: +*fmttests.errFmt +*safedetails.withSafeDetails: safe × +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errFmt" +Title: "×" +(NO STACKTRACE) run fmt innerone innertwo -safedetails outerthree outerfour +safefmt outerthree outerfour opaque -require (?s)innerone.*innertwo +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -3524,13 +6215,20 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -3540,10 +6238,18 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -innerone +safe outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3551,15 +6257,18 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) safe × - | × +safe outerthree: innerone +(1) safe outerthree + | outerfour + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3569,7 +6278,8 @@ Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹safe outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3577,34 +6287,43 @@ Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) safe × - | × +‹safe outerthree›: ‹innerone› +(1) ‹safe outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -× -× --- +×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -3614,7 +6333,6 @@ opaque require (?s)innerone.*innertwo ---- ----- &secondary.withSecondaryError{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", @@ -3631,9 +6349,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -3656,9 +6375,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -3678,7 +6398,7 @@ innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3736,7 +6456,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3774,50 +6494,56 @@ Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) secondary error attachment + | outerthree + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) ----- ----- run fmt innerone innertwo @@ -3840,9 +6566,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3862,9 +6589,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -3881,7 +6609,7 @@ innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3934,7 +6662,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3969,26 +6697,60 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt :: *withstack.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func37)" -Title: "*fmttests.errFmt: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3998,11 +6760,11 @@ Title: "*fmttests.errFmt: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -4134,20 +6896,22 @@ Error types: (1) *contexttags.withContext (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) tags: [k×,safe=×] +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *contexttags.withContext (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -4234,21 +6998,23 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -4275,9 +7041,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -4300,9 +7067,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-stylew outerthree @@ -4320,7 +7088,7 @@ new-stylew outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4376,7 +7144,7 @@ new-stylew ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4412,34 +7180,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opa ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × -× --- +:: new-stylew ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*errutil.withPrefix: new-stylew × (1) +*errutil.withPrefix: new-stylew × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func40)" -Title: "*fmttests.errFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: new-stylew ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4449,11 +7248,11 @@ Title: "*fmttests.errFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run fmt innerone innertwo @@ -4462,7 +7261,6 @@ opaque require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -4483,18 +7281,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -4520,18 +7320,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style outerthree @@ -4549,7 +7351,7 @@ new-style outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4580,7 +7382,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -4638,7 +7440,7 @@ new-style ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4669,7 +7471,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -4707,65 +7509,100 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × -× --- +:: new-style ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errbase.opaqueLeaf +-- report composition: *fmttests.errFmt -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func51)" -Title: "*fmttests.errFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errFmt: new-style ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4775,10 +7612,8 @@ Title: "*fmttests.errFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.wit :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-goerr b/fmttests/testdata/format/wrap-goerr index 3b4ecbb..1b05982 100644 --- a/fmttests/testdata/format/wrap-goerr +++ b/fmttests/testdata/format/wrap-goerr @@ -6,8 +6,8 @@ require (?s) ---- &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, stack: &stack{...}, @@ -19,8 +19,8 @@ require (?s) == %#v &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, stack: &stack{...}, @@ -39,7 +39,7 @@ innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -70,7 +70,7 @@ Wraps: (3) innerone | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -92,7 +92,7 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barr (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -120,37 +120,71 @@ Wraps: (3) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × :: *withstack.withStack (top exception) *assert.withAssertionFailure == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -160,11 +194,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -175,8 +209,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -191,8 +225,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -214,7 +248,7 @@ assertmsg: outerthree: innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -247,7 +281,7 @@ Wraps: (4) innerone | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -270,7 +304,7 @@ assertmsg: ‹outerthree›: ‹innerone› (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -300,44 +334,75 @@ Wraps: (4) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError -*errutil.withPrefix: assertmsg: × (1) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -347,11 +412,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -359,16 +424,16 @@ barrier outerthree outerfour require (?s) ---- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, } == Error() @@ -388,7 +453,7 @@ innerone | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -411,23 +476,30 @@ Error types: (1) *barriers.barrierError | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run @@ -485,21 +557,26 @@ Error types: (1) *fmttests.werrDelegate (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- multi-line› ‹ | wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrDelegate (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +× +× +Wraps: (2) × +× +Error types: (1) *fmttests.werrDelegate (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrDelegate == Extra "error types" @@ -507,7 +584,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -559,7 +636,7 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.errorString == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.errorString ===== @@ -567,8 +644,11 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.errorString ===== == Message payload × +(1) +Wraps: (2) × × --- +Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrDelegateEmpty == Extra "error types" @@ -576,7 +656,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -628,7 +708,7 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *errors.errorString == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) ‹detail› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrDelegateNoPrefix (2) *errors.errorString ===== @@ -636,8 +716,11 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *errors.errorString ===== == Message payload × +(1) × +Wraps: (2) × × --- +Error types: (1) *fmttests.werrDelegateNoPrefix (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrDelegateNoPrefix == Extra "error types" @@ -645,7 +728,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -701,7 +784,7 @@ Error types: (1) *hintdetail.withDetail (2) *errors.errorString ‹innerone› (1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *hintdetail.withDetail (2) *errors.errorString ===== @@ -709,8 +792,12 @@ Error types: (1) *hintdetail.withDetail (2) *errors.errorString ===== == Message payload × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *hintdetail.withDetail (2) *errors.errorString +-- report composition: *errors.errorString *hintdetail.withDetail == Extra "error types" @@ -718,7 +805,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -772,7 +859,7 @@ Error types: (1) *domains.withDomain (2) *errors.errorString == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) mydomain -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *domains.withDomain (2) *errors.errorString ===== @@ -780,19 +867,19 @@ Error types: (1) *domains.withDomain (2) *errors.errorString ===== == Message payload × +(1) mydomain +Wraps: (2) × × --- +Error types: (1) *domains.withDomain (2) *errors.errorString +-- report composition: *errors.errorString -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -846,9 +933,9 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString ===== @@ -856,8 +943,12 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString ===== == Message payload × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrWithElidedCause == Extra "error types" @@ -865,7 +956,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -917,7 +1008,7 @@ Error types: (1) *fmttests.werrEmpty (2) *errors.errorString == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrEmpty (2) *errors.errorString ===== @@ -925,8 +1016,11 @@ Error types: (1) *fmttests.werrEmpty (2) *errors.errorString ===== == Message payload × +(1) +Wraps: (2) × × --- +Error types: (1) *fmttests.werrEmpty (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrEmpty == Extra "error types" @@ -934,7 +1028,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -993,22 +1087,28 @@ Error types: (1) *fmttests.werrFmt (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- this is outerthree› ‹ | outerfour's› ‹ | multi-line wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmt (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +× × --- +× +Wraps: (2) × +× +Error types: (1) *fmttests.werrFmt (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmt == Extra "error types" @@ -1016,7 +1116,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1081,19 +1181,22 @@ Error types: (1) *fmttests.werrFmto (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmto (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *fmttests.werrFmto (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmto == Extra "error types" @@ -1101,7 +1204,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1166,19 +1269,22 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmtoDelegate (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *fmttests.werrFmtoDelegate (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmtoDelegate == Extra "error types" @@ -1186,7 +1292,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1242,19 +1348,22 @@ Error types: (1) *fmttests.werrFmtp (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmtp (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *fmttests.werrFmtp (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmtp == Extra "error types" @@ -1262,12 +1371,12 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run goerr innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v @@ -1275,17 +1384,17 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)outerthree.*outerfour.* ---- &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &errors.errorString{s:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*errors.errorString)(0xAAAABBBB)} +&fmt.wrapError{msg:"outerthree\nouterfour - innerone\ninnertwo", err:(*errors.errorString)(0xAAAABBBB)} == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1295,16 +1404,17 @@ innertwo == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &errors.errorString{s:"innerone\ninnertwo"}, } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo Wraps: (2) innerone | innertwo Error types: (1) *fmt.wrapError (2) *errors.errorString @@ -1313,7 +1423,7 @@ Error types: (1) *fmt.wrapError (2) *errors.errorString ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1321,10 +1431,11 @@ Error types: (1) *fmt.wrapError (2) *errors.errorString == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› -Wraps: (2) ‹innerone›‹› +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - innerone› +‹ | innertwo› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmt.wrapError (2) *errors.errorString ===== @@ -1332,9 +1443,13 @@ Error types: (1) *fmt.wrapError (2) *errors.errorString ===== == Message payload × -×: × +(1) × +× × --- +Wraps: (2) × +× +Error types: (1) *fmt.wrapError (2) *errors.errorString +-- report composition: *errors.errorString *fmt.wrapError == Extra "error types" @@ -1342,189 +1457,399 @@ errors/*errors.errorString (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×" (NO STACKTRACE) run goerr innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, - }, - domain: "error domain: pkg ", -} +&fmt.wrapErrors{msg:"outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", errs:[]error{(*errors.errorString)(0xAAAABBBB), (*errors.fundamental)(0xAAAABBBB)}} == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone - | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | Error types: (1) *errors.errorString -Error types: (1) *domains.withDomain (2) *barriers.barrierError -== %#v via Formattable() = %#v, good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, + }, +} == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree +(1) outerthree + | outerfour - innerone + | innertwo sibling error in wrapper +Wraps: (2) sibling error in wrapper + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone + | innertwo +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *errors.errorString ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone›‹› - | ‹ | innertwo› - | Error types: (1) *errors.errorString -Error types: (1) *domains.withDomain (2) *barriers.barrierError +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - innerone› +‹ | innertwo sibling error in wrapper› +Wraps: (2) ‹sibling error in wrapper› +‹ | github.com/cockroachdb/errors/fmttests.init.func23› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Wraps: (3) ‹innerone› +‹ | innertwo› +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *errors.errorString ===== ===== Sentry reporting ===== == Message payload × +(1) × × --- -*barriers.barrierError -*domains.withDomain: error domain: pkg (1) -(check the extra data payloads) -== Extra "1: details" -error domain: pkg +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Wraps: (3) × +× +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *errors.errorString +-- report composition: +:: *errors.fundamental (top exception) +*errors.errorString +*fmt.wrapErrors == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) - +github.com/pkg/errors/*errors.fundamental (*::) +errors/*errors.errorString (*::) +fmt/*fmt.wrapErrors (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + run goerr innerone innertwo -hint outerthree outerfour +go-errorf-suffix outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s).*outerthree.*outerfour ---- -&hintdetail.withHint{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &errors.errorString{s:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&hintdetail.withHint{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", -} +&fmt.wrapError{msg:"innerone\ninnertwo - outerthree\nouterfour", err:(*errors.errorString)(0xAAAABBBB)} == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &errors.errorString{s:"innerone\ninnertwo"}, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) innerone -(1) outerthree +(1) innerone + | innertwo - outerthree | outerfour Wraps: (2) innerone | innertwo -Error types: (1) *hintdetail.withHint (2) *errors.errorString -== %#v via Formattable() = %#v, good +Error types: (1) *fmt.wrapError (2) *errors.errorString +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo - outerthree› +‹outerfour› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹innerone› +(1) ‹innerone› +‹ | innertwo - outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *fmt.wrapError (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +× +(1) × +× +× +Wraps: (2) × +× +Error types: (1) *fmt.wrapError (2) *errors.errorString +-- report composition: +*errors.errorString +*fmt.wrapError +== Extra "error types" +errors/*errors.errorString (*::) +fmt/*fmt.wrapError (*::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "×" +(NO STACKTRACE) + +run +goerr innerone innertwo +goerr outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* +---- +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &errors.errorString{s:"innerone\ninnertwo"}, +} +===== +===== non-redactable formats +===== +== %#v +&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*errors.errorString)(0xAAAABBBB)} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &errors.errorString{s:"innerone\ninnertwo"}, +} == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *fmt.wrapError (2) *errors.errorString ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree›: ‹innerone› (1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *hintdetail.withHint (2) *errors.errorString +Error types: (1) *fmt.wrapError (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload +×: × +(1) × × +Wraps: (2) × × --- +Error types: (1) *fmt.wrapError (2) *errors.errorString +-- report composition: *errors.errorString -*hintdetail.withHint +*fmt.wrapError == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run goerr innerone innertwo -issuelink outerthree outerfour +handled-domain outerthree outerfour require (?s) ---- -&issuelink.withIssueLink{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, + }, + domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, + }, + domain: "error domain: pkg ", } == Error() innerone @@ -1536,12 +1861,15 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) issue: https://mysite - | detail: outerthree - | outerfour +(1) error domain: pkg Wraps: (2) innerone | innertwo -Error types: (1) *issuelink.withIssueLink (2) *errors.errorString + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | Error types: (1) *errors.errorString +Error types: (1) *domains.withDomain (2) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1560,49 +1888,57 @@ Error types: (1) *issuelink.withIssueLink (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone›‹› -‹ | innertwo› -Error types: (1) *issuelink.withIssueLink (2) *errors.errorString +(1) error domain: pkg +Wraps: (2) ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | Error types: (1) *errors.errorString +Error types: (1) *domains.withDomain (2) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*errors.errorString -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*domains.withDomain: error domain: pkg == Extra "error types" -errors/*errors.errorString (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) -== Exception 1 (Module: "error domain: ") -Type: "*errors.errorString" -Title: "×\n×" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run goerr innerone innertwo -migrated outerthree outerfour +hint outerthree outerfour require (?s) ---- -&fmttests.werrMigrated{ +&hintdetail.withHint{ cause: &errors.errorString{s:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&fmttests.werrMigrated{ +&hintdetail.withHint{ cause: &errors.errorString{s:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", } == Error() innerone @@ -1614,10 +1950,11 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) +(1) outerthree + | outerfour Wraps: (2) innerone | innertwo -Error types: (1) *fmttests.werrMigrated (2) *errors.errorString +Error types: (1) *hintdetail.withHint (2) *errors.errorString == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1636,61 +1973,1366 @@ Error types: (1) *fmttests.werrMigrated (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) -Wraps: (2) ‹innerone›‹› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *fmttests.werrMigrated (2) *errors.errorString +Error types: (1) *hintdetail.withHint (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *hintdetail.withHint (2) *errors.errorString +-- report composition: *errors.errorString -*fmttests.werrMigrated +*hintdetail.withHint == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run goerr innerone innertwo -msg outerthree outerfour +issuelink outerthree outerfour + +require (?s) +---- +&issuelink.withIssueLink{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +===== +===== non-redactable formats +===== +== %#v +&issuelink.withIssueLink{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *issuelink.withIssueLink (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *issuelink.withIssueLink (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +× +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × +× +Error types: (1) *issuelink.withIssueLink (2) *errors.errorString +-- report composition: +*errors.errorString +*issuelink.withIssueLink: https://mysite +== Extra "error types" +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "×" +(NO STACKTRACE) + +run +goerr innerone innertwo +join outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s) +---- +&join.joinError{ + errs: { + &errors.errorString{s:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &errors.errorString{s:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +== Error() +innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› +‹ | innertwo› +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × +× +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *errors.errorString +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*errors.errorString +*join.joinError +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +migrated outerthree outerfour + +require (?s) +---- +&fmttests.werrMigrated{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrMigrated{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) +Wraps: (2) innerone + | innertwo +Error types: (1) *fmttests.werrMigrated (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.werrMigrated (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +× +(1) +Wraps: (2) × +× +Error types: (1) *fmttests.werrMigrated (2) *errors.errorString +-- report composition: +*errors.errorString +*fmttests.werrMigrated +== Extra "error types" +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "×" +(NO STACKTRACE) + +run +goerr innerone innertwo +msg outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&errutil.withPrefix{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *errutil.withPrefix (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *errutil.withPrefix (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × +× +Error types: (1) *errutil.withPrefix (2) *errors.errorString +-- report composition: +*errors.errorString +*errutil.withPrefix: outerthree +== Extra "error types" +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "outerthree: ×" +(NO STACKTRACE) + +run +goerr innerone innertwo +multi-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.errorString +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errors.errorString +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +multi-elided-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.errorString +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errors.errorString +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +newfw outerthree outerfour require (?s)outerthree.*outerfour.* ---- -&errutil.withPrefix{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, + }, + stack: &stack{...}, } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, + }, + stack: &stack{...}, } == Error() -outerthree -outerfour: innerone -innertwo +new-style (outerthree +outerfour) :: innerone +innertwo :: == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone -(1) outerthree - | outerfour -Wraps: (2) innerone +new-style (outerthree +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | Error types: (1) *errors.errorString +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone | innertwo -Error types: (1) *errutil.withPrefix (2) *errors.errorString +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1700,54 +3342,144 @@ Error types: (1) *errutil.withPrefix (2) *errors.errorString ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› -‹innertwo› +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree - | outerfour -Wraps: (2) ‹innerone›‹› +new-style (‹outerthree› +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | Error types: (1) *errors.errorString +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› ‹ | innertwo› -Error types: (1) *errutil.withPrefix (2) *errors.errorString +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -outerthree -outerfour: × +:: new-style (× +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × × --- +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString +-- report composition: *errors.errorString -*errutil.withPrefix: outerthree (1) -(check the extra data payloads) -== Extra "1: details" -outerthree - outerfour +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError +:: *withstack.withStack (top exception) == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "*errors.errorString" -Title: "outerthree\nouterfour: ×\n×" -(NO STACKTRACE) +Type: ": ...funcNN... +Title: "*errors.errorString: new-style (×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour -require (?s)outerthree.*outerfour.* +require (?s).*outerthree.*outerfour ---- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &errors.errorString{s:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, }, @@ -1761,26 +3493,26 @@ require (?s)outerthree.*outerfour.* cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &errors.errorString{s:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, }, stack: &stack{...}, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +:: innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1809,9 +3541,9 @@ Wraps: (2) secondary error attachment | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) Wraps: (4) innerone | innertwo Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString @@ -1824,19 +3556,19 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +:: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1862,50 +3594,80 @@ new-style (‹outerthree› | : Wraps: (2) secondary error attachment | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: -Wraps: (4) ‹innerone›‹› +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) +Wraps: (4) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -:: new-style (× -×) :: × -× :: --- +:: :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × +× +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString +-- report composition: *errors.errorString -*errutil.withNewMessage: new-style (× (1) +*errutil.withNewMessage: :: × *secondary.withSecondaryError :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func39)" -Title: "*errors.errorString: new-style (×\n×) :: ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: :: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1915,11 +3677,11 @@ Title: "*errors.errorString: new-style (×\n×) :: ×\n× ::\nvia *withstack.wit :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -1978,19 +3740,22 @@ Error types: (1) *fmttests.werrNoFmt (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrNoFmt (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *fmttests.werrNoFmt (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrNoFmt == Extra "error types" @@ -1998,7 +3763,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2060,7 +3825,7 @@ link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› (1) link ‹/path/to/file› ‹/path/to/newfile› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *os.LinkError (2) *errors.errorString ===== @@ -2068,8 +3833,11 @@ Error types: (1) *os.LinkError (2) *errors.errorString ===== == Message payload link × ×: × +(1) link × × +Wraps: (2) × × --- +Error types: (1) *os.LinkError (2) *errors.errorString +-- report composition: *errors.errorString *os.LinkError == Extra "error types" @@ -2077,7 +3845,7 @@ errors/*errors.errorString (*::) os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "link × ×: ×\n×" +Title: "link × ×: ×" (NO STACKTRACE) run @@ -2141,7 +3909,7 @@ send tcp ‹unixhello›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() send tcp ‹unixhello›: ‹innerone› (1) send tcp ‹unixhello› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *net.OpError (2) *errors.errorString ===== @@ -2149,8 +3917,11 @@ Error types: (1) *net.OpError (2) *errors.errorString ===== == Message payload send tcp ×: × +(1) send tcp × +Wraps: (2) × × --- +Error types: (1) *net.OpError (2) *errors.errorString +-- report composition: *errors.errorString *net.OpError == Extra "error types" @@ -2158,7 +3929,7 @@ errors/*errors.errorString (*::) net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "send tcp ×: ×\n×" +Title: "send tcp ×: ×" (NO STACKTRACE) run @@ -2218,7 +3989,7 @@ link ‹/path/to/file›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file›: ‹innerone› (1) link ‹/path/to/file› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fs.PathError (2) *errors.errorString ===== @@ -2226,8 +3997,11 @@ Error types: (1) *fs.PathError (2) *errors.errorString ===== == Message payload link ×: × +(1) link × +Wraps: (2) × × --- +Error types: (1) *fs.PathError (2) *errors.errorString +-- report composition: *errors.errorString *fs.PathError == Extra "error types" @@ -2235,7 +4009,7 @@ errors/*errors.errorString (*::) io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "link ×: ×\n×" +Title: "link ×: ×" (NO STACKTRACE) run @@ -2293,7 +4067,7 @@ open: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() open: ‹innerone› (1) open -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *os.SyscallError (2) *errors.errorString ===== @@ -2301,8 +4075,11 @@ Error types: (1) *os.SyscallError (2) *errors.errorString ===== == Message payload open: × +(1) open +Wraps: (2) × × --- +Error types: (1) *os.SyscallError (2) *errors.errorString +-- report composition: *errors.errorString *os.SyscallError == Extra "error types" @@ -2310,7 +4087,7 @@ errors/*errors.errorString (*::) os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "open: ×\n×" +Title: "open: ×" (NO STACKTRACE) run @@ -2383,19 +4160,22 @@ Error types: (1) *errors.withMessage (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errors.withMessage (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *errors.withMessage (2) *errors.errorString +-- report composition: *errors.errorString *errors.withMessage == Extra "error types" @@ -2403,7 +4183,7 @@ errors/*errors.errorString (*::) github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2440,7 +4220,7 @@ innertwo == %+v innerone innertwo -github.com/cockroachdb/errors/fmttests.glob..func26 +github.com/cockroachdb/errors/fmttests.init.func30 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -2476,7 +4256,7 @@ runtime.goexit innerone (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2518,7 +4298,7 @@ Error types: (1) *errors.withStack (2) *errors.errorString ‹innerone› (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2542,7 +4322,7 @@ Error types: (1) *errors.withStack (2) *errors.errorString | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errors.withStack (2) *errors.errorString ===== @@ -2550,26 +4330,54 @@ Error types: (1) *errors.withStack (2) *errors.errorString ===== == Message payload :: × +(1) + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × × --- +Error types: (1) *errors.withStack (2) *errors.errorString +-- report composition: *errors.errorString :: *errors.withStack (top exception) == Extra "error types" errors/*errors.errorString (*::) github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func26)" -Title: "*errors.errorString: ×\n×\nvia *errors.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: ×\nvia *errors.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2579,11 +4387,11 @@ Title: "*errors.errorString: ×\n×\nvia *errors.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func26() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -2638,7 +4446,7 @@ Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString ‹innerone› (1) safe × | × -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString ===== @@ -2646,20 +4454,99 @@ Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString ===== == Message payload × +(1) safe × + | × +Wraps: (2) × × --- +Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString +-- report composition: *errors.errorString -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*safedetails.withSafeDetails: safe × == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" +(NO STACKTRACE) + +run +goerr innerone innertwo +safefmt outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.werrSafeFormat{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + msg: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrSafeFormat{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + msg: "outerthree\nouterfour", +} +== Error() +safe outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +safe outerthree: innerone +(1) safe outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *fmttests.werrSafeFormat (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +safe ‹outerthree› +‹outerfour›: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +safe ‹outerthree›: ‹innerone› +(1) safe ‹outerthree› + | ‹outerfour› +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.werrSafeFormat (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +safe ×: × +(1) safe × + | × +Wraps: (2) × +× +Error types: (1) *fmttests.werrSafeFormat (2) *errors.errorString +-- report composition: +*errors.errorString +*fmttests.werrSafeFormat +== Extra "error types" +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "safe ×: ×" (NO STACKTRACE) run @@ -2668,7 +4555,6 @@ secondary outerthree outerfour require (?s) ---- ----- &secondary.withSecondaryError{ cause: &errors.errorString{s:"innerone\ninnertwo"}, secondaryError: &withstack.withStack{ @@ -2701,7 +4587,7 @@ innerone | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -2753,7 +4639,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.errorString | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -2780,7 +4666,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.errorString | Wraps: (2) outerthree | | outerfour | Error types: (1) *withstack.withStack (2) *errutil.leafError -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *secondary.withSecondaryError (2) *errors.errorString ===== @@ -2788,50 +4674,50 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.errorString ===== == Message payload × +(1) secondary error attachment + | outerthree + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (2) × × --- +Error types: (1) *secondary.withSecondaryError (2) *errors.errorString +-- report composition: *errors.errorString -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) ----- ----- run goerr innerone innertwo @@ -2863,7 +4749,7 @@ innertwo innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2910,7 +4796,7 @@ Error types: (1) *withstack.withStack (2) *errors.errorString ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2934,7 +4820,7 @@ Error types: (1) *withstack.withStack (2) *errors.errorString | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *errors.errorString ===== @@ -2942,26 +4828,54 @@ Error types: (1) *withstack.withStack (2) *errors.errorString ===== == Message payload :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × × --- +Error types: (1) *withstack.withStack (2) *errors.errorString +-- report composition: *errors.errorString :: *withstack.withStack (top exception) == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func37)" -Title: "*errors.errorString: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2971,11 +4885,11 @@ Title: "*errors.errorString: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -3084,7 +4998,7 @@ Error types: (1) *contexttags.withContext (2) *errors.errorString == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) tags: [k‹123›,safe=456] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *contexttags.withContext (2) *errors.errorString ===== @@ -3092,20 +5006,19 @@ Error types: (1) *contexttags.withContext (2) *errors.errorString ===== == Message payload × +(1) tags: [k×,safe=456] +Wraps: (2) × × --- +Error types: (1) *contexttags.withContext (2) *errors.errorString +-- report composition: *errors.errorString -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3161,7 +5074,7 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString ‹innerone› (1) keys: [somekey outerthree | outerfour] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString ===== @@ -3169,21 +5082,20 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString ===== == Message payload × +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × × --- +Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString +-- report composition: *errors.errorString -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3223,7 +5135,7 @@ innertwo new-stylew outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3273,7 +5185,7 @@ new-stylew ‹outerthree› new-stylew ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3299,41 +5211,66 @@ new-stylew ‹outerthree›: ‹innerone› | : Wraps: (2) new-stylew ‹outerthree› | ‹outerfour› -Wraps: (3) ‹innerone›‹› +Wraps: (3) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × +:: new-stylew ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) × × --- +Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *errors.errorString +-- report composition: *errors.errorString -*errutil.withPrefix: new-stylew × (1) +*errutil.withPrefix: new-stylew × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func40)" -Title: "*errors.errorString: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: new-stylew ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3343,11 +5280,11 @@ Title: "*errors.errorString: new-stylew ×\n×: ×\n×\nvia *withstack.withStack :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -3355,7 +5292,6 @@ wrapf-attached outerthree outerfour require (?s)outerthree.*outerfour.* ---- ----- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -3399,7 +5335,7 @@ innertwo new-style outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3427,7 +5363,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3479,7 +5415,7 @@ new-style ‹outerthree› new-style ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3507,7 +5443,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3535,72 +5471,98 @@ Wraps: (2) secondary error attachment | Error types: (1) *withstack.withStack (2) *errutil.leafError Wraps: (3) new-style ‹outerthree› | ‹outerfour› (payload) -Wraps: (4) ‹innerone›‹› +Wraps: (4) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × +:: new-style ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × × --- +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errors.errorString +-- report composition: *errors.errorString -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func51)" -Title: "*errors.errorString: new-style ×\n× (payload): ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: new-style ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3610,10 +5572,8 @@ Title: "*errors.errorString: new-style ×\n× (payload): ×\n×\nvia *withstack. :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-goerr-via-network b/fmttests/testdata/format/wrap-goerr-via-network index 034ff44..eb2183d 100644 --- a/fmttests/testdata/format/wrap-goerr-via-network +++ b/fmttests/testdata/format/wrap-goerr-via-network @@ -7,17 +7,18 @@ require (?s)innerone.*innertwo ---- &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -26,17 +27,18 @@ require (?s)innerone.*innertwo == %#v &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -55,7 +57,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -86,7 +88,7 @@ Wraps: (3) innerone | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -111,7 +113,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -139,37 +141,74 @@ Wraps: (3) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × :: *withstack.withStack (top exception) *assert.withAssertionFailure == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -179,11 +218,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -195,8 +234,8 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -205,9 +244,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -217,8 +257,8 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -227,9 +267,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -249,7 +290,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -282,7 +323,7 @@ Wraps: (4) innerone | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -308,7 +349,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -338,44 +379,78 @@ Wraps: (4) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError -*errutil.withPrefix: assertmsg: × (1) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -385,11 +460,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -398,16 +473,16 @@ opaque require (?s)innerone.*innertwo ---- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, } == Error() @@ -427,7 +502,7 @@ innerone | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -450,23 +525,30 @@ Error types: (1) *barriers.barrierError | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run @@ -485,6 +567,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -499,6 +582,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -543,17 +627,23 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrDelegate == Extra "error types" @@ -561,7 +651,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -580,6 +670,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -594,6 +685,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -632,7 +724,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== @@ -640,8 +732,13 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == Message payload × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrDelegateEmpty == Extra "error types" @@ -649,7 +746,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -668,6 +765,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -682,6 +780,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -720,7 +819,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== @@ -728,8 +827,13 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == Message payload × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrDelegateNoPrefix == Extra "error types" @@ -737,7 +841,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -794,7 +898,7 @@ Error types: (1) *hintdetail.withDetail (2) *errors.errorString ‹innerone› (1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *hintdetail.withDetail (2) *errors.errorString ===== @@ -802,8 +906,12 @@ Error types: (1) *hintdetail.withDetail (2) *errors.errorString ===== == Message payload × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *hintdetail.withDetail (2) *errors.errorString +-- report composition: *errors.errorString *hintdetail.withDetail == Extra "error types" @@ -811,7 +919,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -866,7 +974,7 @@ Error types: (1) *domains.withDomain (2) *errors.errorString == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) mydomain -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *domains.withDomain (2) *errors.errorString ===== @@ -874,19 +982,19 @@ Error types: (1) *domains.withDomain (2) *errors.errorString ===== == Message payload × +(1) mydomain +Wraps: (2) × × --- +Error types: (1) *domains.withDomain (2) *errors.errorString +-- report composition: *errors.errorString -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -941,9 +1049,9 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString ===== @@ -951,8 +1059,12 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString ===== == Message payload × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *fmttests.werrWithElidedCause (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrWithElidedCause == Extra "error types" @@ -960,7 +1072,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -979,6 +1091,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -993,6 +1106,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -1031,7 +1145,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== @@ -1039,8 +1153,13 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == Message payload × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrEmpty == Extra "error types" @@ -1048,7 +1167,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1067,6 +1186,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1081,6 +1201,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1125,17 +1246,23 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmt == Extra "error types" @@ -1143,7 +1270,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1165,6 +1292,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1179,6 +1307,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1223,17 +1352,23 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmto == Extra "error types" @@ -1241,7 +1376,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1263,6 +1398,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1277,6 +1413,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1321,17 +1458,23 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmtoDelegate == Extra "error types" @@ -1339,7 +1482,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1358,6 +1501,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1372,6 +1516,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1416,17 +1561,23 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrFmtp == Extra "error types" @@ -1434,12 +1585,12 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run goerr innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -1449,13 +1600,14 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ---- &errbase.opaqueWrapper{ cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } ===== ===== non-redactable formats @@ -1463,17 +1615,18 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo == %#v &errbase.opaqueWrapper{ cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1481,9 +1634,10 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -1500,7 +1654,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1508,13 +1662,14 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹outerthree›: ‹innerone› +‹outerthree› (1) ‹outerthree› - | ‹outerfour› + | ‹outerfour - innerone› + | ‹innertwo› | | (opaque error wrapper) | type name: fmt/*fmt.wrapError -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== @@ -1522,9 +1677,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == Message payload × -×: × +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmt.wrapError == Extra "error types" @@ -1532,53 +1694,119 @@ errors/*errors.errorString (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×" (NO STACKTRACE) run goerr innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, }, - domain: "error domain: pkg ", } == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone +outerthree +(1) outerthree + | outerfour - innerone + | innertwo sibling error in wrapper + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) sibling error in wrapper + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | Error types: (1) *errors.errorString -Error types: (1) *domains.withDomain (2) *barriers.barrierError +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errors.errorString == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1588,66 +1816,175 @@ Error types: (1) *domains.withDomain (2) *barriers.barrierError ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone›‹› - | ‹ | innertwo› - | Error types: (1) *errors.errorString -Error types: (1) *domains.withDomain (2) *barriers.barrierError -===== -===== Sentry reporting -===== -== Message payload -× -× --- -*barriers.barrierError -*domains.withDomain: error domain: pkg (1) -(check the extra data payloads) -== Extra "1: details" -error domain: pkg -== Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) - -run -goerr innerone innertwo -hint outerthree outerfour +‹outerthree› +(1) ‹outerthree› + | ‹outerfour - innerone› + | ‹innertwo sibling error in wrapper› + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) ‹sibling error in wrapper› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) ‹innerone› +‹ | innertwo› +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | × + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × +× +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errors.errorString +-- report composition: +:: *errors.fundamental (top exception) +*errors.errorString +*fmt.wrapErrors +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +errors/*errors.errorString (*::) +fmt/*fmt.wrapErrors (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +go-errorf-suffix outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- -&hintdetail.withHint{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } ===== ===== non-redactable formats ===== == %#v -&hintdetail.withHint{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good @@ -1655,11 +1992,15 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) outerthree +(1) innerone + | innertwo - outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo -Error types: (1) *hintdetail.withHint (2) *errors.errorString +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1670,7 +2011,8 @@ Error types: (1) *hintdetail.withHint (2) *errors.errorString ===== == printed via redact Print(), ok - congruent with %v ‹innerone› -‹innertwo› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good @@ -1678,49 +2020,79 @@ Error types: (1) *hintdetail.withHint (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) ‹outerthree› -‹ | outerfour› -Wraps: (2) ‹innerone›‹› +(1) ‹innerone› + | ‹innertwo - outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *hintdetail.withHint (2) *errors.errorString +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload × +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString -*hintdetail.withHint +*fmt.wrapError == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run goerr innerone innertwo -issuelink outerthree outerfour +goerr outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&issuelink.withIssueLink{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -innerone +outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1728,13 +2100,15 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) issue: https://mysite - | detail: outerthree +outerthree: innerone +(1) outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo -Error types: (1) *issuelink.withIssueLink (2) *errors.errorString +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1744,7 +2118,8 @@ Error types: (1) *issuelink.withIssueLink (2) *errors.errorString ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1752,65 +2127,63 @@ Error types: (1) *issuelink.withIssueLink (2) *errors.errorString == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone›‹› +‹outerthree›: ‹innerone› +(1) ‹outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *issuelink.withIssueLink (2) *errors.errorString +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload +×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × × -× --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run goerr innerone innertwo -migrated outerthree outerfour +handled-domain outerthree outerfour opaque require (?s)innerone.*innertwo ---- -&errbase.opaqueWrapper{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, + domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&errbase.opaqueWrapper{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errors.errorString{s:"innerone\ninnertwo"}, }, + domain: "error domain: pkg ", } == Error() innerone @@ -1822,12 +2195,15 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +(1) error domain: pkg Wraps: (2) innerone | innertwo -Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | Error types: (1) *errors.errorString +Error types: (1) *domains.withDomain (2) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1846,51 +2222,139 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated -Wraps: (2) ‹innerone›‹› +(1) error domain: pkg +Wraps: (2) ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | Error types: (1) *errors.errorString +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +× +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" +(NO STACKTRACE) + +run +goerr innerone innertwo +hint outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&hintdetail.withHint{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&hintdetail.withHint{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *hintdetail.withHint (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +Error types: (1) *hintdetail.withHint (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *hintdetail.withHint (2) *errors.errorString +-- report composition: *errors.errorString -*fmttests.werrMigrated +*hintdetail.withHint == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run goerr innerone innertwo -msg outerthree outerfour +issuelink outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- -&errutil.withPrefix{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&issuelink.withIssueLink{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&issuelink.withIssueLink{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } == Error() -outerthree -outerfour: innerone +innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1898,12 +2362,13 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone -(1) outerthree +innerone +(1) issue: https://mysite + | detail: outerthree | outerfour Wraps: (2) innerone | innertwo -Error types: (1) *errutil.withPrefix (2) *errors.errorString +Error types: (1) *issuelink.withIssueLink (2) *errors.errorString == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1913,8 +2378,7 @@ Error types: (1) *errutil.withPrefix (2) *errors.errorString ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› +‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1922,46 +2386,1787 @@ outerfour: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree +‹innerone› +(1) issue: https://mysite + | detail: outerthree | outerfour -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *errutil.withPrefix (2) *errors.errorString +Error types: (1) *issuelink.withIssueLink (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload +× +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × +× +Error types: (1) *issuelink.withIssueLink (2) *errors.errorString +-- report composition: +*errors.errorString +*issuelink.withIssueLink: https://mysite +== Extra "error types" +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "×" +(NO STACKTRACE) + +run +goerr innerone innertwo +join outerthree outerfour +opaque + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo +---- +&join.joinError{ + errs: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +== Error() +innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› outerthree -outerfour: × +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› +‹ | innertwo› +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × +× +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errors.errorString +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*errors.errorString +*join.joinError +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +migrated outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) innerone + | innertwo +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) × +× +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: +*errors.errorString +*fmttests.werrMigrated +== Extra "error types" +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "×" +(NO STACKTRACE) + +run +goerr innerone innertwo +msg outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errutil.withPrefix{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *errutil.withPrefix (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *errutil.withPrefix (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × +× +Error types: (1) *errutil.withPrefix (2) *errors.errorString +-- report composition: +*errors.errorString +*errutil.withPrefix: outerthree +== Extra "error types" +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: "*errors.errorString" +Title: "outerthree: ×" +(NO STACKTRACE) + +run +goerr innerone innertwo +multi-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errors.errorString +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errors.errorString +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +multi-elided-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.errorString{s:"innerone\ninnertwo"}, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errors.errorString +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errors.errorString +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +errors/*errors.errorString (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +newfw outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +new-style (outerthree +outerfour) :: innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | Error types: (1) *errors.errorString +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone + | innertwo +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style (‹outerthree› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | Error types: (1) *errors.errorString +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› +‹ | innertwo› +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload +:: new-style (× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString +-- report composition: *errors.errorString -*errutil.withPrefix: outerthree (1) -(check the extra data payloads) -== Extra "1: details" -outerthree - outerfour +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError +:: *withstack.withStack (top exception) == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "*errors.errorString" -Title: "outerthree\nouterfour: ×\n×" -(NO STACKTRACE) +Type: ": ...funcNN... +Title: "*errors.errorString: new-style (×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &errors.errorString{s:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, }, @@ -1969,9 +4174,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1981,7 +4187,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &errors.errorString{s:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errors.errorString{s:"innerone\ninnertwo"}, }, @@ -1989,27 +4195,28 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +:: innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: innerone (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2038,9 +4245,9 @@ Wraps: (2) secondary error attachment | (1) innerone | | innertwo | Error types: (1) *errors.errorString -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) Wraps: (4) innerone | innertwo Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString @@ -2053,22 +4260,22 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +:: ‹innerone› (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2094,50 +4301,83 @@ new-style (‹outerthree› | : Wraps: (2) secondary error attachment | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *errors.errorString -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: -Wraps: (4) ‹innerone›‹› +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) +Wraps: (4) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -:: new-style (× -×) :: × -× :: --- +:: :: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | Error types: (1) *errors.errorString +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × +× +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.errorString +-- report composition: *errors.errorString -*errutil.withNewMessage: new-style (× (1) +*errutil.withNewMessage: :: × *secondary.withSecondaryError :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func39)" -Title: "*errors.errorString: new-style (×\n×) :: ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: :: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2147,11 +4387,11 @@ Title: "*errors.errorString: new-style (×\n×) :: ×\n× ::\nvia *withstack.wit :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -2172,6 +4412,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2186,6 +4427,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2230,17 +4472,23 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | | (opaque error wrapper) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *fmttests.werrNoFmt == Extra "error types" @@ -2248,7 +4496,7 @@ errors/*errors.errorString (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2311,7 +4559,7 @@ link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› (1) link ‹/path/to/file› ‹/path/to/newfile› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *os.LinkError (2) *errors.errorString ===== @@ -2319,8 +4567,11 @@ Error types: (1) *os.LinkError (2) *errors.errorString ===== == Message payload link × ×: × +(1) link × × +Wraps: (2) × × --- +Error types: (1) *os.LinkError (2) *errors.errorString +-- report composition: *errors.errorString *os.LinkError == Extra "error types" @@ -2328,7 +4579,7 @@ errors/*errors.errorString (*::) os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "link × ×: ×\n×" +Title: "link × ×: ×" (NO STACKTRACE) run @@ -2350,6 +4601,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2364,6 +4616,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() send tcp unixhello: innerone @@ -2404,7 +4657,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | | (opaque error wrapper) | type name: net/*net.OpError -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== @@ -2412,8 +4665,14 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == Message payload ×: × +(1) × + | + | (opaque error wrapper) + | type name: net/*net.OpError +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString *net.OpError == Extra "error types" @@ -2421,7 +4680,7 @@ errors/*errors.errorString (*::) net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2482,7 +4741,7 @@ link ‹/path/to/file›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file›: ‹innerone› (1) link ‹/path/to/file› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fs.PathError (2) *errors.errorString ===== @@ -2490,8 +4749,11 @@ Error types: (1) *fs.PathError (2) *errors.errorString ===== == Message payload link ×: × +(1) link × +Wraps: (2) × × --- +Error types: (1) *fs.PathError (2) *errors.errorString +-- report composition: *errors.errorString *fs.PathError == Extra "error types" @@ -2499,7 +4761,7 @@ errors/*errors.errorString (*::) io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "link ×: ×\n×" +Title: "link ×: ×" (NO STACKTRACE) run @@ -2558,7 +4820,7 @@ open: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() open: ‹innerone› (1) open -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *os.SyscallError (2) *errors.errorString ===== @@ -2566,8 +4828,11 @@ Error types: (1) *os.SyscallError (2) *errors.errorString ===== == Message payload open: × +(1) open +Wraps: (2) × × --- +Error types: (1) *os.SyscallError (2) *errors.errorString +-- report composition: *errors.errorString *os.SyscallError == Extra "error types" @@ -2575,7 +4840,7 @@ errors/*errors.errorString (*::) os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "open: ×\n×" +Title: "open: ×" (NO STACKTRACE) run @@ -2649,19 +4914,22 @@ Error types: (1) *errors.withMessage (2) *errors.errorString == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errors.withMessage (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *errors.withMessage (2) *errors.errorString +-- report composition: *errors.errorString *errors.withMessage == Extra "error types" @@ -2669,7 +4937,7 @@ errors/*errors.errorString (*::) github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2690,9 +4958,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2704,9 +4973,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -2723,7 +4993,7 @@ innerone | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2773,7 +5043,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2797,7 +5067,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== @@ -2805,62 +5075,186 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == Message payload :: × +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × +× +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: +*errors.errorString +:: *errors.withStack (top exception) +== Extra "error types" +errors/*errors.errorString (*::) +github.com/pkg/errors/*errors.withStack (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.errorString: ×\nvia *errors.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +goerr innerone innertwo +safedetails outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&safedetails.withSafeDetails{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + safeDetails: {"safe ×\n×"}, +} +===== +===== non-redactable formats +===== +== %#v +&safedetails.withSafeDetails{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + safeDetails: {"safe ×\n×"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) safe × + | × +Wraps: (2) innerone + | innertwo +Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) safe × + | × +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString +===== +===== Sentry reporting +===== +== Message payload × --- +(1) safe × + | × +Wraps: (2) × +× +Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString +-- report composition: *errors.errorString -:: *errors.withStack (top exception) +*safedetails.withSafeDetails: safe × == Extra "error types" errors/*errors.errorString (*::) -github.com/pkg/errors/*errors.withStack (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func26)" -Title: "*errors.errorString: ×\n×\nvia *errors.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func26() +Type: "*errors.errorString" +Title: "×" +(NO STACKTRACE) run goerr innerone innertwo -safedetails outerthree outerfour +safefmt outerthree outerfour opaque -require (?s)innerone.*innertwo +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&safedetails.withSafeDetails{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - safeDetails: {"safe ×\n×"}, +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&safedetails.withSafeDetails{ - cause: &errors.errorString{s:"innerone\ninnertwo"}, - safeDetails: {"safe ×\n×"}, +&errbase.opaqueWrapper{ + cause: &errors.errorString{s:"innerone\ninnertwo"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -innerone +safe outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2868,12 +5262,15 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) safe × - | × +safe outerthree: innerone +(1) safe outerthree + | outerfour + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) innerone | innertwo -Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2883,7 +5280,8 @@ Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹safe outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2891,31 +5289,37 @@ Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) safe × - | × -Wraps: (2) ‹innerone›‹› +‹safe outerthree›: ‹innerone› +(1) ‹safe outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *safedetails.withSafeDetails (2) *errors.errorString +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== ===== Sentry reporting ===== == Message payload +×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat +Wraps: (2) × × -× --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" errors/*errors.errorString (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2925,7 +5329,6 @@ opaque require (?s)innerone.*innertwo ---- ----- &secondary.withSecondaryError{ cause: &errors.errorString{s:"innerone\ninnertwo"}, secondaryError: &errbase.opaqueWrapper{ @@ -2934,9 +5337,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -2951,9 +5355,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -2973,7 +5378,7 @@ innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3028,7 +5433,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.errorString | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3055,7 +5460,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.errorString | Wraps: (2) outerthree | | outerfour | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *secondary.withSecondaryError (2) *errors.errorString ===== @@ -3063,50 +5468,53 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.errorString ===== == Message payload × +(1) secondary error attachment + | outerthree + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (2) × × --- +Error types: (1) *secondary.withSecondaryError (2) *errors.errorString +-- report composition: *errors.errorString -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) ----- ----- run goerr innerone innertwo @@ -3121,9 +5529,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3135,9 +5544,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -3154,7 +5564,7 @@ innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3204,7 +5614,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3228,7 +5638,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== @@ -3236,26 +5646,57 @@ Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString ===== == Message payload :: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errors.errorString +-- report composition: *errors.errorString :: *withstack.withStack (top exception) == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func37)" -Title: "*errors.errorString: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3265,11 +5706,11 @@ Title: "*errors.errorString: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -3371,7 +5812,7 @@ Error types: (1) *contexttags.withContext (2) *errors.errorString == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) tags: [k‹123›,safe=‹456›] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *contexttags.withContext (2) *errors.errorString ===== @@ -3379,20 +5820,19 @@ Error types: (1) *contexttags.withContext (2) *errors.errorString ===== == Message payload × +(1) tags: [k×,safe=×] +Wraps: (2) × × --- +Error types: (1) *contexttags.withContext (2) *errors.errorString +-- report composition: *errors.errorString -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3449,7 +5889,7 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString ‹innerone› (1) keys: [somekey outerthree | outerfour] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString ===== @@ -3457,21 +5897,20 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString ===== == Message payload × +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × × --- +Error types: (1) *telemetrykeys.withTelemetry (2) *errors.errorString +-- report composition: *errors.errorString -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") Type: "*errors.errorString" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3490,9 +5929,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3507,9 +5947,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-stylew outerthree @@ -3527,7 +5968,7 @@ new-stylew outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3580,7 +6021,7 @@ new-stylew ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3606,41 +6047,69 @@ new-stylew ‹outerthree›: ‹innerone› | : Wraps: (2) new-stylew ‹outerthree› | ‹outerfour› -Wraps: (3) ‹innerone›‹› +Wraps: (3) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × +:: new-stylew ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errors.errorString +-- report composition: *errors.errorString -*errutil.withPrefix: new-stylew × (1) +*errutil.withPrefix: new-stylew × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func40)" -Title: "*errors.errorString: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: new-stylew ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3650,11 +6119,11 @@ Title: "*errors.errorString: new-stylew ×\n×: ×\n×\nvia *withstack.withStack :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run goerr innerone innertwo @@ -3663,7 +6132,6 @@ opaque require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -3676,18 +6144,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3705,18 +6175,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style outerthree @@ -3734,7 +6206,7 @@ new-style outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3765,7 +6237,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3820,7 +6292,7 @@ new-style ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3851,7 +6323,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3879,72 +6351,104 @@ Wraps: (2) secondary error attachment | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError Wraps: (3) new-style ‹outerthree› | ‹outerfour› (payload) -Wraps: (4) ‹innerone›‹› +Wraps: (4) ‹innerone› ‹ | innertwo› Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errors.errorString ===== ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × +:: new-style ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × × --- +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errors.errorString +-- report composition: *errors.errorString -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" errors/*errors.errorString (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func51)" -Title: "*errors.errorString: new-style ×\n× (payload): ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.errorString: new-style ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3954,10 +6458,8 @@ Title: "*errors.errorString: new-style ×\n× (payload): ×\n×\nvia *withstack. :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-newf b/fmttests/testdata/format/wrap-newf index daf74fb..950b8d4 100644 --- a/fmttests/testdata/format/wrap-newf +++ b/fmttests/testdata/format/wrap-newf @@ -4,11 +4,10 @@ assertion outerthree outerfour require (?s) ---- ----- &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -23,8 +22,8 @@ require (?s) == %#v &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -46,7 +45,7 @@ new-style innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -76,7 +75,7 @@ Wraps: (3) new-style innerone | new-style innerone | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -103,7 +102,7 @@ Wraps: (3) new-style innerone | Wraps: (2) new-style innerone | | innertwo | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -113,7 +112,7 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barr ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹new-style innerone› +new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -121,11 +120,11 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barr == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹new-style innerone› +new-style ‹innerone› (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -149,13 +148,13 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) ‹new-style innerone› +Wraps: (3) new-style ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | new-style ‹innerone› | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -182,65 +181,94 @@ Wraps: (3) ‹new-style innerone› | Wraps: (2) new-style ‹innerone› | | ‹innertwo› | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: × -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) +:: new-style × +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -250,13 +278,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -264,12 +290,11 @@ assertwrap outerthree outerfour require (?s)outerthree.*outerfour.* ---- ----- &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -287,8 +312,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -313,7 +338,7 @@ assertmsg: outerthree: new-style innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -345,7 +370,7 @@ Wraps: (4) new-style innerone | new-style innerone | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -372,7 +397,7 @@ Wraps: (4) new-style innerone | Wraps: (2) new-style innerone | | innertwo | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -383,7 +408,7 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *erru ===== == printed via redact Print(), ok - congruent with %v assertmsg: ‹outerthree› -‹outerfour›: ‹new-style innerone› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -391,11 +416,11 @@ assertmsg: ‹outerthree› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -assertmsg: ‹outerthree›: ‹new-style innerone› +assertmsg: ‹outerthree›: new-style ‹innerone› (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -421,13 +446,13 @@ Wraps: (2) attached stack trace | : Wraps: (3) assertmsg: ‹outerthree› | ‹outerfour› -Wraps: (4) ‹new-style innerone› +Wraps: (4) new-style ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | new-style ‹innerone› | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -454,71 +479,98 @@ Wraps: (4) ‹new-style innerone› | Wraps: (2) new-style ‹innerone› | | ‹innertwo› | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -*errutil.withPrefix: assertmsg: × (2) +:: assertmsg: ×: new-style × +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × -== Extra "2: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -528,13 +580,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -542,9 +592,8 @@ barrier outerthree outerfour require (?s) ---- ----- -&barriers.barrierError{ - msg: "new-style innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -554,8 +603,8 @@ require (?s) ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "new-style innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -577,7 +626,7 @@ new-style innerone | new-style innerone | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -604,7 +653,7 @@ new-style innerone | Wraps: (2) new-style innerone | | innertwo | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -614,7 +663,7 @@ Error types: (1) *barriers.barrierError ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹new-style innerone› +new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -622,14 +671,14 @@ Error types: (1) *barriers.barrierError == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹new-style innerone› -(1) ‹new-style innerone› +new-style ‹innerone› +(1) new-style ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | new-style ‹innerone› | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -656,54 +705,54 @@ Error types: (1) *barriers.barrierError | Wraps: (2) new-style ‹innerone› | | ‹innertwo› | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -× -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × +new-style × +(1) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "new-style ×" (NO STACKTRACE) ----- ----- run newf innerone innertwo @@ -746,7 +795,7 @@ outerthree: new-style innerone | wrapper payload Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -792,13 +841,13 @@ Error types: (1) *fmttests.werrDelegate (2) *withstack.withStack (3) *errutil.le == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- multi-line› ‹ | wrapper payload› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -829,34 +878,61 @@ Error types: (1) *fmttests.werrDelegate (2) *withstack.withStack (3) *errutil.le ===== Sentry reporting ===== == Message payload -:: × -×: new-style × +:: ×: new-style × +(1) × +× +× × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrDelegate (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrDelegate -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -866,11 +942,11 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -907,7 +983,7 @@ new-style innerone (1) Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -955,7 +1031,7 @@ new-style ‹innerone› (1) Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -987,32 +1063,57 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *withstack.withStack (3) *errut ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrDelegateEmpty (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrDelegateEmpty -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1022,11 +1123,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1063,7 +1164,7 @@ new-style innerone (1) detail Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1111,7 +1212,7 @@ new-style ‹innerone› (1) ‹detail› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1143,46 +1244,71 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *withstack.withStack (3) *er ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) -:: *withstack.withStack (top exception) -*fmttests.werrDelegateNoPrefix -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "error types" -github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) -github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) -== Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +(1) × +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrDelegateNoPrefix (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*fmttests.werrDelegateNoPrefix +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1222,7 +1348,7 @@ new-style innerone | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1271,7 +1397,7 @@ new-style ‹innerone› ‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1303,32 +1429,58 @@ Error types: (1) *hintdetail.withDetail (2) *withstack.withStack (3) *errutil.le ===== == Message payload :: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *hintdetail.withDetail (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *hintdetail.withDetail -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1338,11 +1490,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1381,7 +1533,7 @@ new-style innerone (1) mydomain Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1429,7 +1581,7 @@ new-style ‹innerone› (1) mydomain Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1461,34 +1613,57 @@ Error types: (1) *domains.withDomain (2) *withstack.withStack (3) *errutil.leafE ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) mydomain +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *domains.withDomain (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*domains.withDomain: mydomain (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1498,11 +1673,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1542,7 +1717,7 @@ outerthree | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1587,11 +1762,11 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *withstack.withStack (3) *err == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1623,32 +1798,58 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *withstack.withStack (3) *err ===== == Message payload :: × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrWithElidedCause (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrWithElidedCause -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1658,11 +1859,11 @@ Title: "*errutil.leafError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1699,7 +1900,7 @@ new-style innerone (1) Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1747,7 +1948,7 @@ new-style ‹innerone› (1) Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1779,32 +1980,57 @@ Error types: (1) *fmttests.werrEmpty (2) *withstack.withStack (3) *errutil.leafE ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrEmpty (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrEmpty -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1814,11 +2040,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1862,7 +2088,7 @@ outerthree: new-style innerone | multi-line wrapper payload Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1908,14 +2134,14 @@ Error types: (1) *fmttests.werrFmt (2) *withstack.withStack (3) *errutil.leafErr == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- this is outerthree› ‹ | outerfour's› ‹ | multi-line wrapper payload› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1946,34 +2172,62 @@ Error types: (1) *fmttests.werrFmt (2) *withstack.withStack (3) *errutil.leafErr ===== Sentry reporting ===== == Message payload -:: × -×: new-style × +:: ×: new-style × +(1) × +× × --- -*errutil.leafError: new-style × (1) +× +× +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrFmt (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrFmt -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1983,11 +2237,11 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -2023,7 +2277,7 @@ innertwo new-style innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2070,7 +2324,7 @@ outerthree: new-style innerone | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2111,11 +2365,11 @@ Error types: (1) *fmttests.werrFmto (2) *withstack.withStack (3) *errutil.leafEr == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2146,34 +2400,59 @@ Error types: (1) *fmttests.werrFmto (2) *withstack.withStack (3) *errutil.leafEr ===== Sentry reporting ===== == Message payload -:: × -×: new-style × +:: ×: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrFmto (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrFmto -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2183,11 +2462,11 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -2223,7 +2502,7 @@ innertwo new-style innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2270,7 +2549,7 @@ outerthree: new-style innerone | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2311,11 +2590,11 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *withstack.withStack (3) *erruti == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2346,48 +2625,73 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *withstack.withStack (3) *erruti ===== Sentry reporting ===== == Message payload -:: × -×: new-style × +:: ×: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) -:: *withstack.withStack (top exception) -*fmttests.werrFmtoDelegate -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "error types" -github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) -github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) -== Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrFmtoDelegate (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*fmttests.werrFmtoDelegate +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: (github.com/cockroachdb/datadriven) runTestInternal() :: (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -2428,7 +2732,7 @@ outerthree: new-style innerone | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2474,11 +2778,11 @@ Error types: (1) *fmttests.werrFmtp (2) *withstack.withStack (3) *errutil.leafEr == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2509,34 +2813,59 @@ Error types: (1) *fmttests.werrFmtp (2) *withstack.withStack (3) *errutil.leafEr ===== Sentry reporting ===== == Message payload -:: × -×: new-style × +:: ×: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrFmtp (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrFmtp -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2546,15 +2875,15 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v @@ -2562,7 +2891,7 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)outerthree.*outerfour.* ---- &fmt.wrapError{ - msg: "outerthree\nouterfour: new-style innerone\ninnertwo", + msg: "outerthree\nouterfour - new-style innerone\ninnertwo", err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -2572,10 +2901,10 @@ require (?s)outerthree.*outerfour.* ===== non-redactable formats ===== == %#v -&fmt.wrapError{msg:"outerthree\nouterfour: new-style innerone\ninnertwo", err:(*withstack.withStack)(0xAAAABBBB)} +&fmt.wrapError{msg:"outerthree\nouterfour - new-style innerone\ninnertwo", err:(*withstack.withStack)(0xAAAABBBB)} == Error() outerthree -outerfour: new-style innerone +outerfour - new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2585,7 +2914,7 @@ innertwo == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) &fmt.wrapError{ - msg: "outerthree\nouterfour: new-style innerone\ninnertwo", + msg: "outerthree\nouterfour - new-style innerone\ninnertwo", err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, @@ -2595,12 +2924,13 @@ innertwo == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: new-style innerone +outerthree (1) outerthree - | outerfour + | outerfour - new-style innerone + | innertwo Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2632,7 +2962,7 @@ Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: new-style ‹innerone› +‹outerfour - new-style innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2640,12 +2970,13 @@ Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - new-style innerone› +‹ | innertwo› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2677,33 +3008,59 @@ Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError ===== == Message payload :: × -×: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +× +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmt.wrapError -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2713,232 +3070,170 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour -require (?s) ----- +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", - maskedErr: &withstack.withStack{ +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - new-style innerone\ninnertwo sibling error in wrapper", + errs: { + &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", - maskedErr: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, - }, - }, - domain: "error domain: pkg ", -} +&fmt.wrapErrors{msg:"outerthree\nouterfour - new-style innerone\ninnertwo sibling error in wrapper", errs:[]error{(*withstack.withStack)(0xAAAABBBB), (*errors.fundamental)(0xAAAABBBB)}} == Error() -new-style innerone -innertwo +outerthree +outerfour - new-style innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -new-style innerone -(1) error domain: pkg -Wraps: (2) new-style innerone - | innertwo - | -- cause hidden behind barrier - | new-style innerone - | (1) attached stack trace - | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Wraps: (2) new-style innerone - | | innertwo - | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *domains.withDomain (2) *barriers.barrierError -== %#v via Formattable() = %#v, good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - new-style innerone\ninnertwo sibling error in wrapper", + errs: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, + }, +} == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree +(1) outerthree + | outerfour - new-style innerone + | innertwo sibling error in wrapper +Wraps: (2) sibling error in wrapper + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (4) new-style innerone + | innertwo +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *withstack.withStack (4) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹new-style innerone› -‹innertwo› +‹outerthree› +‹outerfour - new-style innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹new-style innerone› -(1) error domain: pkg -Wraps: (2) ‹new-style innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | new-style ‹innerone› - | (1) attached stack trace - | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Wraps: (2) new-style ‹innerone› - | | ‹innertwo› - | Error types: (1) *withstack.withStack (2) *errutil.leafError -Error types: (1) *domains.withDomain (2) *barriers.barrierError -===== -===== Sentry reporting -===== -== Message payload -× -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -*domains.withDomain: error domain: pkg (2) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × -== Extra "2: details" -error domain: pkg -== Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) ----- ----- - -run -newf innerone innertwo -hint outerthree outerfour - -require (?s) ----- -&hintdetail.withHint{ - cause: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, - }, - hint: "outerthree\nouterfour", -} -===== -===== non-redactable formats -===== -== %#v -&hintdetail.withHint{ - cause: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, - }, - hint: "outerthree\nouterfour", -} -== Error() -new-style innerone -innertwo -== %v = Error(), good -== %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v -new-style innerone -(1) outerthree - | outerfour -Wraps: (2) attached stack trace +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - new-style innerone› +‹ | innertwo sibling error in wrapper› +Wraps: (2) ‹sibling error in wrapper› +‹ | github.com/cockroachdb/errors/fmttests.init.func23› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Wraps: (3) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2962,32 +3257,45 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style innerone - | innertwo -Error types: (1) *hintdetail.withHint (2) *withstack.withStack (3) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +└─ Wraps: (4) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *withstack.withStack (4) *errutil.leafError ===== -===== redactable formats +===== Sentry reporting ===== -== printed via redact Print(), ok - congruent with %v -new-style ‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) ‹outerthree› -‹ | outerfour› -Wraps: (2) attached stack trace +== Message payload +× +(1) × +× +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Wraps: (3) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3011,40 +3319,60 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› -Error types: (1) *hintdetail.withHint (2) *withstack.withStack (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) -:: *withstack.withStack (top exception) -*hintdetail.withHint +└─ Wraps: (4) new-style × + | × +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *withstack.withStack (4) *errutil.leafError +-- report composition: +:: *errors.fundamental (top exception) +*errutil.leafError: new-style × +:: *withstack.withStack (1) +*fmt.wrapErrors (check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapErrors (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3054,52 +3382,62 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -issuelink outerthree outerfour +go-errorf-suffix outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s).*outerthree.*outerfour ---- -&issuelink.withIssueLink{ - cause: &withstack.withStack{ +&fmt.wrapError{ + msg: "new-style innerone\ninnertwo - outerthree\nouterfour", + err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ - cause: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, - }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, -} +&fmt.wrapError{msg:"new-style innerone\ninnertwo - outerthree\nouterfour", err:(*withstack.withStack)(0xAAAABBBB)} == Error() new-style innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "new-style innerone\ninnertwo - outerthree\nouterfour", + err: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) new-style innerone -(1) issue: https://mysite - | detail: outerthree +(1) new-style innerone + | innertwo - outerthree | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3125,31 +3463,27 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *issuelink.withIssueLink (2) *withstack.withStack (3) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style ‹innerone› -‹innertwo› +‹new-style innerone› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹new-style innerone› +(1) ‹new-style innerone› +‹ | innertwo - outerthree› +‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3175,42 +3509,65 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *issuelink.withIssueLink (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: new-style × +:: × +(1) × +× × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*issuelink.withIssueLink: https://mysite (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3220,20 +3577,24 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -migrated outerthree outerfour +goerr outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&fmttests.werrMigrated{ - cause: &withstack.withStack{ +&fmt.wrapError{ + msg: "outerthree\nouterfour: new-style innerone\ninnertwo", + err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, @@ -3242,26 +3603,35 @@ require (?s) ===== non-redactable formats ===== == %#v -&fmttests.werrMigrated{ - cause: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, - }, -} +&fmt.wrapError{msg:"outerthree\nouterfour: new-style innerone\ninnertwo", err:(*withstack.withStack)(0xAAAABBBB)} == Error() -new-style innerone +outerthree +outerfour: new-style innerone innertwo == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -new-style innerone -(1) +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "outerthree\nouterfour: new-style innerone\ninnertwo", + err: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree: new-style innerone +(1) outerthree + | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3287,29 +3657,26 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *fmttests.werrMigrated (2) *withstack.withStack (3) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style ‹innerone› +‹outerthree› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree›: new-style ‹innerone› +(1) ‹outerthree› +‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3335,38 +3702,64 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *fmttests.werrMigrated (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: new-style × +:: ×: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmt.wrapError (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*fmttests.werrMigrated -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3376,39 +3769,44 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -msg outerthree outerfour +handled-domain outerthree outerfour -require (?s)outerthree.*outerfour.* +require (?s) ---- -&errutil.withPrefix{ - cause: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", + maskedErr: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, }, - prefix: "outerthree\nouterfour", + domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ - cause: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", + maskedErr: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, }, - prefix: "outerthree\nouterfour", + domain: "error domain: pkg ", } == Error() -outerthree -outerfour: new-style innerone +new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3416,12 +3814,2275 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: new-style innerone -(1) outerthree - | outerfour -Wraps: (2) attached stack trace +new-style innerone +(1) error domain: pkg +Wraps: (2) new-style innerone + | innertwo + | -- cause hidden behind barrier + | new-style innerone + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style innerone + | | innertwo + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) error domain: pkg +Wraps: (2) new-style ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | new-style ‹innerone› + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style ‹innerone› + | | ‹innertwo› + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +new-style × +(1) error domain: pkg +Wraps: (2) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "new-style ×" +(NO STACKTRACE) + +run +newf innerone innertwo +hint outerthree outerfour + +require (?s) +---- +&hintdetail.withHint{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + hint: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&hintdetail.withHint{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + hint: "outerthree\nouterfour", +} +== Error() +new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *hintdetail.withHint (2) *withstack.withStack (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *hintdetail.withHint (2) *withstack.withStack (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style × +(1) × +× +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *hintdetail.withHint (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*hintdetail.withHint +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +issuelink outerthree outerfour + +require (?s) +---- +&issuelink.withIssueLink{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +===== +===== non-redactable formats +===== +== %#v +&issuelink.withIssueLink{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +== Error() +new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *issuelink.withIssueLink (2) *withstack.withStack (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *issuelink.withIssueLink (2) *withstack.withStack (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style × +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *issuelink.withIssueLink (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*issuelink.withIssueLink: https://mysite +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +join outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s) +---- +&join.joinError{ + errs: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +== Error() +new-style innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) new-style innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | [...repeated from below...] +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (5) new-style innerone + | innertwo +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *withstack.withStack (5) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) new-style ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | [...repeated from below...] +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (5) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *withstack.withStack (5) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +new-style × +(1) new-style × + | × + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | [...repeated from below...] +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (5) new-style × + | × +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *withstack.withStack (5) *errutil.leafError +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*errutil.leafError: new-style × +:: *withstack.withStack (1) +*join.joinError +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +migrated outerthree outerfour + +require (?s) +---- +&fmttests.werrMigrated{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrMigrated{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, +} +== Error() +new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *fmttests.werrMigrated (2) *withstack.withStack (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *fmttests.werrMigrated (2) *withstack.withStack (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style × +(1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrMigrated (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*fmttests.werrMigrated +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +msg outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&errutil.withPrefix{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: new-style innerone +(1) outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *errutil.withPrefix (2) *withstack.withStack (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: new-style ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *errutil.withPrefix (2) *withstack.withStack (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: outerthree: new-style × +(1) outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errutil.withPrefix (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: outerthree: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +multi-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: new-style innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *withstack.withStack (11) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: new-style ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *withstack.withStack (11) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: new-style × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style × + | × +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *withstack.withStack (11) *errutil.leafError +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errutil.leafError: new-style × +:: *withstack.withStack (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +multi-elided-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: new-style innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *withstack.withStack (11) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: new-style ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *withstack.withStack (11) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: new-style × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style × + | × +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *withstack.withStack (11) *errutil.leafError +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errutil.leafError: new-style × +:: *withstack.withStack (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +newfw outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + }, + stack: &stack{...}, +} +===== +===== non-redactable formats +===== +== %#v +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + }, + stack: &stack{...}, +} +== Error() +new-style (outerthree +outerfour) :: new-style innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | new-style innerone + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style innerone + | | innertwo + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style (outerthree + | outerfour) :: new-style innerone + | innertwo :: +Wraps: (4) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3445,9 +6106,9 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style innerone +Wraps: (5) new-style innerone | innertwo -Error types: (1) *errutil.withPrefix (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *withstack.withStack (5) *errutil.leafError == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3457,21 +6118,58 @@ Error types: (1) *errutil.withPrefix (2) *withstack.withStack (3) *errutil.leafE ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: new-style ‹innerone› -‹innertwo› +new-style (‹outerthree› +‹outerfour›) :: new-style ‹innerone› +‹innertwo› :: == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: new-style ‹innerone› -(1) outerthree - | outerfour -Wraps: (2) attached stack trace +new-style (‹outerthree› +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | new-style ‹innerone› + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style ‹innerone› + | | ‹innertwo› + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: new-style ‹innerone› + | ‹innertwo› :: +Wraps: (4) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3495,44 +6193,135 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› +Wraps: (5) new-style ‹innerone› | ‹innertwo› -Error types: (1) *errutil.withPrefix (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *withstack.withStack (5) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: outerthree -outerfour: new-style × -× --- -*errutil.leafError: new-style × (1) +:: new-style (× +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | new-style × + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style (× + | ×) :: new-style × + | × :: +Wraps: (4) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style × + | × +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *withstack.withStack (5) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withPrefix: outerthree (2) +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -outerthree - outerfour == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: outerthree\nouterfour: new-style ×\n×\nvia *withstack.withStack" +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style (×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3542,18 +6331,17 @@ Title: "*errutil.leafError: outerthree\nouterfour: new-style ×\n×\nvia *withst :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour -require (?s)outerthree.*outerfour.* ----- +require (?s).*outerthree.*outerfour ---- &withstack.withStack{ cause: &secondary.withSecondaryError{ @@ -3562,7 +6350,7 @@ require (?s)outerthree.*outerfour.* cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", + message: ":: new-style ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, @@ -3582,7 +6370,7 @@ require (?s)outerthree.*outerfour.* cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", + message: ":: new-style ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, @@ -3592,26 +6380,26 @@ require (?s)outerthree.*outerfour.* stack: &stack{...}, } == Error() -new-style (outerthree -outerfour) :: new-style innerone -innertwo :: +:: new-style innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: new-style innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | [...repeated from below...] Wraps: (2) secondary error attachment | new-style innerone | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3638,12 +6426,99 @@ Wraps: (2) secondary error attachment | Wraps: (2) new-style innerone | | innertwo | Error types: (1) *withstack.withStack (2) *errutil.leafError -Wraps: (3) new-style (outerthree - | outerfour) :: new-style innerone - | innertwo :: +Wraps: (3) :: new-style innerone + | innertwo :: new-style (outerthree + | outerfour) +Wraps: (4) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style innerone + | innertwo +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *withstack.withStack (5) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +:: new-style ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +:: new-style ‹innerone› +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | new-style ‹innerone› + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style ‹innerone› + | | ‹innertwo› + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) :: new-style ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) Wraps: (4) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3667,38 +6542,24 @@ Wraps: (4) attached stack trace | : | runtime.goexit | : -Wraps: (5) new-style innerone - | innertwo +Wraps: (5) new-style ‹innerone› + | ‹innertwo› Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *withstack.withStack (5) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good ===== -===== redactable formats +===== Sentry reporting ===== -== printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: new-style ‹innerone› -‹innertwo› :: -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +== Message payload +:: :: new-style × (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | [...repeated from below...] Wraps: (2) secondary error attachment - | new-style ‹innerone› + | new-style × | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3722,15 +6583,15 @@ Wraps: (2) secondary error attachment | | : | | runtime.goexit | | : - | Wraps: (2) new-style ‹innerone› - | | ‹innertwo› + | Wraps: (2) new-style × + | | × | Error types: (1) *withstack.withStack (2) *errutil.leafError -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: new-style ‹innerone› - | ‹innertwo› :: +Wraps: (3) :: new-style × + | × :: new-style (× + | ×) Wraps: (4) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3754,60 +6615,16 @@ Wraps: (4) attached stack trace | : | runtime.goexit | : -Wraps: (5) new-style ‹innerone› - | ‹innertwo› +Wraps: (5) new-style × + | × Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *withstack.withStack (5) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: new-style (× -×) :: new-style × -× :: --- -*errutil.leafError: new-style × (1) +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withNewMessage: new-style (× (2) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (3) -:: *withstack.withStack (4) +*errutil.withNewMessage: :: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -new-style (× - ×) :: new-style × - × :: -== Extra "3: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) @@ -3815,18 +6632,18 @@ github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(4) : (func39)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3836,24 +6653,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style (×\n×) :: new-style ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: :: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3863,13 +6680,11 @@ Title: "*errutil.leafError: new-style (×\n×) :: new-style ×\n× ::\nvia *with :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -3919,7 +6734,7 @@ outerthree: new-style innerone | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3960,11 +6775,241 @@ Error types: (1) *fmttests.werrNoFmt (2) *withstack.withStack (3) *errutil.leafE == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *fmttests.werrNoFmt (2) *withstack.withStack (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: ×: new-style × +(1) × +× +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrNoFmt (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*fmttests.werrNoFmt +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +os-link outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s) +---- +&os.LinkError{ + Op: "link", + Old: "/path/to/file", + New: "/path/to/newfile", + Err: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, +} +===== +===== non-redactable formats +===== +== %#v +&os.LinkError{Op:"link", Old:"/path/to/file", New:"/path/to/newfile", Err:&withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, +}} +== Error() +link /path/to/file /path/to/newfile: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&os.LinkError{ + Op: "link", + Old: "/path/to/file", + New: "/path/to/newfile", + Err: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) +link /path/to/file /path/to/newfile: new-style innerone +(1) link /path/to/file /path/to/newfile +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *os.LinkError (2) *withstack.withStack (3) *errutil.leafError +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› +(1) link ‹/path/to/file› ‹/path/to/newfile› +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *os.LinkError (2) *withstack.withStack (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: link × ×: new-style × +(1) link × × +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3988,41 +7033,30 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› -Error types: (1) *fmttests.werrNoFmt (2) *withstack.withStack (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +Wraps: (3) new-style × + | × +Error types: (1) *os.LinkError (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*fmttests.werrNoFmt -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*os.LinkError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) +os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: link × ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4032,26 +7066,27 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -os-link outerthree outerfour +os-netop outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s) ---- -&os.LinkError{ - Op: "link", - Old: "/path/to/file", - New: "/path/to/newfile", - Err: &withstack.withStack{ +&net.OpError{ + Op: "send", + Net: "tcp", + Source: nil, + Addr: &net.UnixAddr{Name:"unixhello", Net:"unixgram"}, + Err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, @@ -4060,12 +7095,12 @@ require (?s) ===== non-redactable formats ===== == %#v -&os.LinkError{Op:"link", Old:"/path/to/file", New:"/path/to/newfile", Err:&withstack.withStack{ +&net.OpError{Op:"send", Net:"tcp", Source:net.Addr(nil), Addr:(*net.UnixAddr)(0xAAAABBBB), Err:&withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }} == Error() -link /path/to/file /path/to/newfile: new-style innerone +send tcp unixhello: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4074,11 +7109,12 @@ innertwo == %X = HEX Error(), good == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) -&os.LinkError{ - Op: "link", - Old: "/path/to/file", - New: "/path/to/newfile", - Err: &withstack.withStack{ +&net.OpError{ + Op: "send", + Net: "tcp", + Source: nil, + Addr: &net.UnixAddr{Name:"unixhello", Net:"unixgram"}, + Err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, @@ -4087,11 +7123,11 @@ innertwo == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -link /path/to/file /path/to/newfile: new-style innerone -(1) link /path/to/file /path/to/newfile +send tcp unixhello: new-style innerone +(1) send tcp unixhello Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4117,12 +7153,12 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *os.LinkError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *net.OpError (2) *withstack.withStack (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› +send tcp ‹unixhello›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4130,11 +7166,11 @@ link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› -(1) link ‹/path/to/file› ‹/path/to/newfile› +send tcp ‹unixhello›: new-style ‹innerone› +(1) send tcp ‹unixhello› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4160,38 +7196,63 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *os.LinkError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *net.OpError (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: link × ×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: send tcp ×: new-style × +(1) send tcp × +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *net.OpError (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*os.LinkError -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*net.OpError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -os/*os.LinkError (*::) +net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: link × ×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: send tcp ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4201,27 +7262,25 @@ Title: "*errutil.leafError: link × ×: new-style ×\n×\nvia *withstack.withSta :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -os-netop outerthree outerfour +os-path outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s) ---- -&net.OpError{ - Op: "send", - Net: "tcp", - Source: nil, - Addr: &net.UnixAddr{Name:"unixhello", Net:"unixgram"}, - Err: &withstack.withStack{ +&fs.PathError{ + Op: "link", + Path: "/path/to/file", + Err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, @@ -4230,12 +7289,12 @@ require (?s) ===== non-redactable formats ===== == %#v -&net.OpError{Op:"send", Net:"tcp", Source:net.Addr(nil), Addr:(*net.UnixAddr)(0xAAAABBBB), Err:&withstack.withStack{ +&fs.PathError{Op:"link", Path:"/path/to/file", Err:&withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }} == Error() -send tcp unixhello: new-style innerone +link /path/to/file: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4244,12 +7303,10 @@ innertwo == %X = HEX Error(), good == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) -&net.OpError{ - Op: "send", - Net: "tcp", - Source: nil, - Addr: &net.UnixAddr{Name:"unixhello", Net:"unixgram"}, - Err: &withstack.withStack{ +&fs.PathError{ + Op: "link", + Path: "/path/to/file", + Err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, @@ -4258,11 +7315,11 @@ innertwo == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -send tcp unixhello: new-style innerone -(1) send tcp unixhello +link /path/to/file: new-style innerone +(1) link /path/to/file Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4288,12 +7345,12 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *net.OpError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *fs.PathError (2) *withstack.withStack (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -send tcp ‹unixhello›: new-style ‹innerone› +link ‹/path/to/file›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4301,11 +7358,11 @@ send tcp ‹unixhello›: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -send tcp ‹unixhello›: new-style ‹innerone› -(1) send tcp ‹unixhello› +link ‹/path/to/file›: new-style ‹innerone› +(1) link ‹/path/to/file› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4331,38 +7388,63 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *net.OpError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *fs.PathError (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: send tcp ×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: link ×: new-style × +(1) link × +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fs.PathError (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*net.OpError -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*fs.PathError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -net/*net.OpError (*::) +io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: send tcp ×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: link ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4372,25 +7454,24 @@ Title: "*errutil.leafError: send tcp ×: new-style ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -os-path outerthree outerfour +os-syscall outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s) ---- -&fs.PathError{ - Op: "link", - Path: "/path/to/file", - Err: &withstack.withStack{ +&os.SyscallError{ + Syscall: "open", + Err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, @@ -4399,12 +7480,12 @@ require (?s) ===== non-redactable formats ===== == %#v -&fs.PathError{Op:"link", Path:"/path/to/file", Err:&withstack.withStack{ +&os.SyscallError{Syscall:"open", Err:&withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }} == Error() -link /path/to/file: new-style innerone +open: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4413,10 +7494,9 @@ innertwo == %X = HEX Error(), good == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) -&fs.PathError{ - Op: "link", - Path: "/path/to/file", - Err: &withstack.withStack{ +&os.SyscallError{ + Syscall: "open", + Err: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, @@ -4425,11 +7505,11 @@ innertwo == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -link /path/to/file: new-style innerone -(1) link /path/to/file +open: new-style innerone +(1) open Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4455,12 +7535,12 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *fs.PathError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *os.SyscallError (2) *withstack.withStack (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -link ‹/path/to/file›: new-style ‹innerone› +open: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4468,11 +7548,11 @@ link ‹/path/to/file›: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -link ‹/path/to/file›: new-style ‹innerone› -(1) link ‹/path/to/file› +open: new-style ‹innerone› +(1) open Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4498,38 +7578,63 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *fs.PathError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *os.SyscallError (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: link ×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: open: new-style × +(1) open +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *os.SyscallError (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*fs.PathError -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*os.SyscallError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -io/fs/*fs.PathError (os/*os.PathError::) +os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: link ×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: open: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4539,62 +7644,102 @@ Title: "*errutil.leafError: link ×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -os-syscall outerthree outerfour +pkgmsg outerthree outerfour -accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %x.*IRREGULAR: not same as hex Error +accept %q.*IRREGULAR: not same as quoted Error +accept %X.*IRREGULAR: not same as HEX Error accept %\#v via Formattable.*IRREGULAR: not same as %\#v - -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +require (?s)outerthree.*outerfour.* ---- -&os.SyscallError{ - Syscall: "open", - Err: &withstack.withStack{ +&errors.withMessage{ + cause: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, + msg: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&os.SyscallError{Syscall:"open", Err:&withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, -}} +outerthree +outerfour: new-style innerone +innertwo == Error() -open: new-style innerone +outerthree +outerfour: new-style innerone innertwo == %v = Error(), good == %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v = Error(), ok +== %q (IRREGULAR: not same as quoted Error()) +outerthree +outerfour: new-style innerone +innertwo +== %x (IRREGULAR: not same as hex Error()) +(EMPTY STRING) +== %X (IRREGULAR: not same as HEX Error()) +(EMPTY STRING) +== %+v +new-style innerone +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-style innerone + | innertwo +Error types: (1) *withstack.withStack (2) *errutil.leafError +outerthree +outerfour == %#v via Formattable() (IRREGULAR: not same as %#v) -&os.SyscallError{ - Syscall: "open", - Err: &withstack.withStack{ +&errors.withMessage{ + cause: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, + msg: "outerthree\nouterfour", } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -open: new-style innerone -(1) open +outerthree: new-style innerone +(1) outerthree + | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4620,12 +7765,13 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *os.SyscallError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *errors.withMessage (2) *withstack.withStack (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -open: new-style ‹innerone› +‹outerthree› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4633,11 +7779,12 @@ open: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -open: new-style ‹innerone› -(1) open +‹outerthree›: new-style ‹innerone› +(1) ‹outerthree› +‹ | outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4663,38 +7810,64 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *os.SyscallError (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *errors.withMessage (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: open: new-style × +:: ×: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errors.withMessage (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*os.SyscallError -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*errors.withMessage == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -os/*os.SyscallError (*::) +github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: open: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4704,47 +7877,42 @@ Title: "*errutil.leafError: open: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -pkgmsg outerthree outerfour +pkgstack outerthree outerfour accept %x.*IRREGULAR: not same as hex Error accept %q.*IRREGULAR: not same as quoted Error accept %X.*IRREGULAR: not same as HEX Error accept %\#v via Formattable.*IRREGULAR: not same as %\#v accept %\+v via Formattable.*IRREGULAR: not same as %\+v -require (?s)outerthree.*outerfour.* +require (?s) ---- -&errors.withMessage{ - cause: &withstack.withStack{ +&errors.withStack{ + error: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - msg: "outerthree\nouterfour", + stack: &stack{...}, } ===== ===== non-redactable formats ===== == %#v -outerthree -outerfour: new-style innerone +new-style innerone innertwo == Error() -outerthree -outerfour: new-style innerone +new-style innerone innertwo == %v = Error(), good == %s = Error(), good -== %q (IRREGULAR: not same as quoted Error()) -outerthree -outerfour: new-style innerone -innertwo +== %q = quoted Error(), good == %x (IRREGULAR: not same as hex Error()) (EMPTY STRING) == %X (IRREGULAR: not same as HEX Error()) @@ -4753,7 +7921,7 @@ innertwo new-style innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4780,26 +7948,51 @@ new-style innerone Wraps: (2) new-style innerone | innertwo Error types: (1) *withstack.withStack (2) *errutil.leafError -outerthree -outerfour +github.com/cockroachdb/errors/fmttests.init.func30 +: +github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 +: +github.com/cockroachdb/datadriven.runDirective.func1 +: +github.com/cockroachdb/datadriven.runDirective +: +github.com/cockroachdb/datadriven.runDirectiveOrSubTest +: +github.com/cockroachdb/datadriven.runTestInternal +: +github.com/cockroachdb/datadriven.RunTest +: +github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 +: +github.com/cockroachdb/datadriven.Walk +: +github.com/cockroachdb/datadriven.Walk.func1 +: +testing.tRunner +: +runtime.goexit +: == %#v via Formattable() (IRREGULAR: not same as %#v) -&errors.withMessage{ - cause: &withstack.withStack{ +&errors.withStack{ + error: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - msg: "outerthree\nouterfour", + stack: &stack{...}, } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: new-style innerone -(1) outerthree - | outerfour +new-style innerone +(1) + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | [...repeated from below...] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4825,13 +8018,12 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *errors.withMessage (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *errors.withStack (2) *withstack.withStack (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹outerthree› -‹outerfour›: new-style ‹innerone› +new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4839,12 +8031,15 @@ Error types: (1) *errors.withMessage (2) *withstack.withStack (3) *errutil.leafE == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› +new-style ‹innerone› +(1) + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | [...repeated from below...] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4870,39 +8065,95 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *errors.withMessage (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *errors.withStack (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: new-style × +(1) + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | [...repeated from below...] +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errors.withStack (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errors.withMessage +:: *errors.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/pkg/errors/*errors.withMessage (*::) +github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: "(1) : ...funcNN... +Title: "*errors.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4912,51 +8163,51 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -pkgstack outerthree outerfour +safedetails outerthree outerfour -accept %x.*IRREGULAR: not same as hex Error -accept %q.*IRREGULAR: not same as quoted Error -accept %X.*IRREGULAR: not same as HEX Error -accept %\#v via Formattable.*IRREGULAR: not same as %\#v -accept %\+v via Formattable.*IRREGULAR: not same as %\+v require (?s) ---- -&errors.withStack{ - error: &withstack.withStack{ +&safedetails.withSafeDetails{ + cause: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - stack: &stack{...}, + safeDetails: {"safe ×\n×"}, } ===== ===== non-redactable formats ===== == %#v -new-style innerone -innertwo +&safedetails.withSafeDetails{ + cause: &withstack.withStack{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + stack: &stack{...}, + }, + safeDetails: {"safe ×\n×"}, +} == Error() new-style innerone innertwo == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good -== %x (IRREGULAR: not same as hex Error()) -(EMPTY STRING) -== %X (IRREGULAR: not same as HEX Error()) -(EMPTY STRING) +== %x = hex Error(), good +== %X = HEX Error(), good == %+v new-style innerone -(1) attached stack trace +(1) safe × + | × +Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4980,54 +8231,32 @@ new-style innerone | : | runtime.goexit | : -Wraps: (2) new-style innerone +Wraps: (3) new-style innerone | innertwo -Error types: (1) *withstack.withStack (2) *errutil.leafError -github.com/cockroachdb/errors/fmttests.glob..func26 -: -github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 -: -github.com/cockroachdb/datadriven.runDirective.func1 -: -github.com/cockroachdb/datadriven.runDirective -: -github.com/cockroachdb/datadriven.runDirectiveOrSubTest -: -github.com/cockroachdb/datadriven.runTestInternal -: -github.com/cockroachdb/datadriven.RunTest -: -github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 -: -github.com/cockroachdb/datadriven.Walk -: -github.com/cockroachdb/datadriven.Walk.func1 -: -testing.tRunner -: -runtime.goexit -: -== %#v via Formattable() (IRREGULAR: not same as %#v) -&errors.withStack{ - error: &withstack.withStack{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - stack: &stack{...}, - }, - stack: &stack{...}, -} +Error types: (1) *safedetails.withSafeDetails (2) *withstack.withStack (3) *errutil.leafError +== %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() (IRREGULAR: not same as %+v) -new-style innerone -(1) - -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 - | : - | [...repeated from below...] +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) safe × + | × Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5051,30 +8280,19 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style innerone - | innertwo -Error types: (1) *errors.withStack (2) *withstack.withStack (3) *errutil.leafError +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *safedetails.withSafeDetails (2) *withstack.withStack (3) *errutil.leafError ===== -===== redactable formats +===== Sentry reporting ===== -== printed via redact Print(), ok - congruent with %v -new-style ‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -new-style ‹innerone› -(1) - -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 - | : - | [...repeated from below...] +== Message payload +:: new-style × +(1) safe × + | × Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5098,67 +8316,30 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› -Error types: (1) *errors.withStack (2) *withstack.withStack (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +Wraps: (3) new-style × + | × +Error types: (1) *safedetails.withSafeDetails (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -:: *errors.withStack (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*safedetails.withSafeDetails: safe × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/pkg/errors/*errors.withStack (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) == Exception 1 (Module: "error domain: ") -Type: "(2) : (func26)" -Title: "*errors.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func26() -== Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5168,38 +8349,39 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -safedetails outerthree outerfour +safefmt outerthree outerfour -require (?s) +require (?s)outerthree.*outerfour.* ---- -&safedetails.withSafeDetails{ +&fmttests.werrSafeFormat{ cause: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - safeDetails: {"safe ×\n×"}, + msg: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&safedetails.withSafeDetails{ +&fmttests.werrSafeFormat{ cause: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, stack: &stack{...}, }, - safeDetails: {"safe ×\n×"}, + msg: "outerthree\nouterfour", } == Error() -new-style innerone +safe outerthree +outerfour: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -5207,12 +8389,12 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style innerone -(1) safe × - | × +safe outerthree: new-style innerone +(1) safe outerthree + | outerfour Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5238,7 +8420,7 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *safedetails.withSafeDetails (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *fmttests.werrSafeFormat (2) *withstack.withStack (3) *errutil.leafError == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -5248,7 +8430,8 @@ Error types: (1) *safedetails.withSafeDetails (2) *withstack.withStack (3) *erru ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style ‹innerone› +safe ‹outerthree› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -5256,12 +8439,12 @@ new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) safe × - | × +safe ‹outerthree›: new-style ‹innerone› +(1) safe ‹outerthree› + | ‹outerfour› Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5287,41 +8470,64 @@ Wraps: (2) attached stack trace | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *safedetails.withSafeDetails (2) *withstack.withStack (3) *errutil.leafError +Error types: (1) *fmttests.werrSafeFormat (2) *withstack.withStack (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +:: safe ×: new-style × +(1) safe × + | × +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrSafeFormat (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*safedetails.withSafeDetails: safe × (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: safe ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5331,11 +8537,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -5343,7 +8549,6 @@ secondary outerthree outerfour require (?s) ---- ----- &secondary.withSecondaryError{ cause: &withstack.withStack{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, @@ -5382,7 +8587,85 @@ new-style innerone | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *secondary.withSecondaryError (2) *withstack.withStack (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) secondary error attachment + | outerthree + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -5411,7 +8694,7 @@ new-style innerone | Error types: (1) *withstack.withStack (2) *errutil.leafError Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5435,32 +8718,19 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style innerone - | innertwo +Wraps: (3) new-style ‹innerone› + | ‹innertwo› Error types: (1) *secondary.withSecondaryError (2) *withstack.withStack (3) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good ===== -===== redactable formats +===== Sentry reporting ===== -== printed via redact Print(), ok - congruent with %v -new-style ‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› +== Message payload +:: new-style × (1) secondary error attachment | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -5489,7 +8759,7 @@ new-style ‹innerone› | Error types: (1) *withstack.withStack (2) *errutil.leafError Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5513,70 +8783,30 @@ Wraps: (2) attached stack trace | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› +Wraps: (3) new-style × + | × Error types: (1) *secondary.withSecondaryError (2) *withstack.withStack (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5586,13 +8816,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -5630,12 +8858,12 @@ innertwo new-style innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | [...repeated from below...] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5682,12 +8910,12 @@ new-style ‹innerone› new-style ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | [...repeated from below...] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5719,32 +8947,62 @@ Error types: (1) *withstack.withStack (2) *withstack.withStack (3) *errutil.leaf ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | [...repeated from below...] +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *withstack.withStack (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -:: *withstack.withStack (2) +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(2) : (func37)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5754,24 +9012,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5781,11 +9039,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -5880,7 +9138,7 @@ new-style innerone (1) tags: [k123,safe=456] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5928,7 +9186,7 @@ new-style ‹innerone› (1) tags: [k‹123›,safe=456] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5960,35 +9218,57 @@ Error types: (1) *contexttags.withContext (2) *withstack.withStack (3) *errutil. ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) tags: [k×,safe=456] +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *contexttags.withContext (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*contexttags.withContext: k× (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5998,11 +9278,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -6042,7 +9322,7 @@ new-style innerone | outerfour] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6091,7 +9371,7 @@ new-style ‹innerone› | outerfour] Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6123,36 +9403,58 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *withstack.withStack (3) *erru ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *telemetrykeys.withTelemetry (2) *withstack.withStack (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*telemetrykeys.withTelemetry: somekey (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6162,11 +9464,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -6211,14 +9513,14 @@ innertwo new-stylew outerthree: new-style innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | [...repeated from below...] Wraps: (2) new-stylew outerthree | outerfour Wraps: (3) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6266,14 +9568,14 @@ new-stylew ‹outerthree› new-stylew ‹outerthree›: new-style ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | [...repeated from below...] Wraps: (2) new-stylew ‹outerthree› | ‹outerfour› Wraps: (3) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6304,39 +9606,67 @@ Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.wit ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: new-stylew ×: new-style × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | [...repeated from below...] +Wraps: (2) new-stylew × + | × +Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (4) new-style × + | × +Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withPrefix: new-stylew × (2) -:: *withstack.withStack (3) +*errutil.withPrefix: new-stylew × +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -new-stylew × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(3) : (func40)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6346,24 +9676,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-stylew ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-stylew ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6373,11 +9703,11 @@ Title: "*errutil.leafError: new-stylew ×\n×: new-style ×\n×\nvia *withstack. :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -6385,7 +9715,6 @@ wrapf-attached outerthree outerfour require (?s)outerthree.*outerfour.* ---- ----- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -6435,14 +9764,14 @@ innertwo new-style outerthree: new-style innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | [...repeated from below...] Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6472,7 +9801,7 @@ Wraps: (3) new-style outerthree | outerfour (payload) Wraps: (4) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6520,14 +9849,14 @@ new-style ‹outerthree› new-style ‹outerthree›: new-style ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | [...repeated from below...] Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6557,7 +9886,7 @@ Wraps: (3) new-style ‹outerthree› | ‹outerfour› (payload) Wraps: (4) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6588,51 +9917,80 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): new-style × -× --- -*errutil.leafError: new-style × (1) +:: new-style ×: new-style × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | payload + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style × + | × +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *withstack.withStack (5) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withPrefix: new-style × (2) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (3) -:: *withstack.withStack (4) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -new-style × - × (payload) -== Extra "3: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) @@ -6640,18 +9998,18 @@ github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(4) : (func51)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6661,24 +10019,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n× (payload): new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6688,10 +10046,8 @@ Title: "*errutil.leafError: new-style ×\n× (payload): new-style ×\n×\nvia *w :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-newf-via-network b/fmttests/testdata/format/wrap-newf-via-network index 848dd91..af4628b 100644 --- a/fmttests/testdata/format/wrap-newf-via-network +++ b/fmttests/testdata/format/wrap-newf-via-network @@ -5,29 +5,30 @@ opaque require (?s)innerone.*innertwo ---- ----- &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -36,26 +37,28 @@ require (?s)innerone.*innertwo == %#v &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -74,7 +77,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -107,7 +110,7 @@ Wraps: (3) new-style innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -134,7 +137,7 @@ Wraps: (3) new-style innerone | Wraps: (2) new-style innerone | | innertwo | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -144,7 +147,7 @@ Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *ba ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹new-style innerone› +new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -152,14 +155,14 @@ Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *ba == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹new-style innerone› +new-style ‹innerone› (1) assertion failure Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -183,7 +186,7 @@ Wraps: (2) | : | runtime.goexit | : -Wraps: (3) ‹new-style innerone› +Wraps: (3) new-style ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | new-style ‹innerone› @@ -192,7 +195,7 @@ Wraps: (3) ‹new-style innerone› | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -219,65 +222,100 @@ Wraps: (3) ‹new-style innerone› | Wraps: (2) new-style ‹innerone› | | ‹innertwo› | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: × -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) +:: new-style × +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -287,13 +325,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -302,21 +338,21 @@ opaque require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -325,9 +361,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -337,17 +374,18 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -356,9 +394,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -378,7 +417,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -413,7 +452,7 @@ Wraps: (4) new-style innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -440,7 +479,7 @@ Wraps: (4) new-style innerone | Wraps: (2) new-style innerone | | innertwo | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -451,7 +490,7 @@ Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *er ===== == printed via redact Print(), ok - congruent with %v assertmsg: ‹outerthree› -‹outerfour›: ‹new-style innerone› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -459,14 +498,14 @@ assertmsg: ‹outerthree› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -assertmsg: ‹outerthree›: ‹new-style innerone› +assertmsg: ‹outerthree›: new-style ‹innerone› (1) assertion failure Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -492,7 +531,7 @@ Wraps: (2) | : Wraps: (3) assertmsg: ‹outerthree› | ‹outerfour› -Wraps: (4) ‹new-style innerone› +Wraps: (4) new-style ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | new-style ‹innerone› @@ -501,7 +540,7 @@ Wraps: (4) ‹new-style innerone› | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -528,71 +567,104 @@ Wraps: (4) ‹new-style innerone› | Wraps: (2) new-style ‹innerone› | | ‹innertwo› | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -*errutil.withPrefix: assertmsg: × (2) +:: assertmsg: ×: new-style × +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × -== Extra "2: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -602,13 +674,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -617,35 +687,36 @@ opaque require (?s)innerone.*innertwo ---- ----- -&barriers.barrierError{ - msg: "new-style innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "new-style innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -667,7 +738,7 @@ new-style innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -694,7 +765,7 @@ new-style innerone | Wraps: (2) new-style innerone | | innertwo | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -704,7 +775,7 @@ Error types: (1) *barriers.barrierError ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹new-style innerone› +new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -712,8 +783,8 @@ Error types: (1) *barriers.barrierError == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹new-style innerone› -(1) ‹new-style innerone› +new-style ‹innerone› +(1) new-style ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | new-style ‹innerone› @@ -722,7 +793,7 @@ Error types: (1) *barriers.barrierError | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 + | | github.com/cockroachdb/errors/fmttests.init.func16 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -749,54 +820,57 @@ Error types: (1) *barriers.barrierError | Wraps: (2) new-style ‹innerone› | | ‹innertwo› | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -× -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × +new-style × +(1) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "new-style ×" (NO STACKTRACE) ----- ----- run newf innerone innertwo @@ -812,9 +886,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -823,6 +898,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -835,9 +911,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -846,6 +923,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -868,7 +946,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -924,7 +1002,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -955,34 +1033,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrDelegate -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -992,11 +1101,11 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1012,9 +1121,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ @@ -1023,6 +1133,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1035,9 +1146,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ @@ -1046,6 +1158,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style innerone @@ -1065,7 +1178,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1118,7 +1231,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1150,32 +1263,62 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrDelegateEmpty -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1185,11 +1328,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1205,9 +1348,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ @@ -1216,6 +1360,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1228,9 +1373,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ @@ -1239,6 +1385,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style innerone @@ -1258,7 +1405,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1311,7 +1458,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1343,32 +1490,62 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrDelegateNoPrefix -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1378,11 +1555,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1398,9 +1575,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, detail: "outerthree\nouterfour", } @@ -1415,9 +1593,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, detail: "outerthree\nouterfour", } @@ -1438,7 +1617,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1490,7 +1669,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1522,32 +1701,61 @@ Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueWrapper (3) *errutil. ===== == Message payload :: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *hintdetail.withDetail -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1557,11 +1765,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1577,9 +1785,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, domain: "mydomain", } @@ -1594,9 +1803,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, domain: "mydomain", } @@ -1616,7 +1826,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1667,7 +1877,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1699,34 +1909,60 @@ Error types: (1) *domains.withDomain (2) *errbase.opaqueWrapper (3) *errutil.lea ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) mydomain +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *domains.withDomain (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*domains.withDomain: mydomain (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1736,11 +1972,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1756,9 +1992,10 @@ require (?s)outerthree.*outerfour details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, msg: "outerthree\nouterfour", } @@ -1773,9 +2010,10 @@ require (?s)outerthree.*outerfour details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, msg: "outerthree\nouterfour", } @@ -1796,7 +2034,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1841,14 +2079,14 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueWrapper (3) *e == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1880,32 +2118,61 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueWrapper (3) *e ===== == Message payload :: × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrWithElidedCause -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1915,11 +2182,11 @@ Title: "*errutil.leafError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -1935,9 +2202,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ @@ -1946,6 +2214,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1958,9 +2227,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ @@ -1969,6 +2239,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style innerone @@ -1988,7 +2259,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2041,7 +2312,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2073,32 +2344,62 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrEmpty -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2108,11 +2409,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -2128,9 +2429,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2139,6 +2441,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2151,9 +2454,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2162,6 +2466,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2184,7 +2489,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2240,7 +2545,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2271,34 +2576,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrFmt -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2308,11 +2644,11 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -2331,9 +2667,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2342,6 +2679,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2354,9 +2692,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2365,6 +2704,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2387,7 +2727,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2443,7 +2783,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2474,34 +2814,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrFmto -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2511,11 +2882,11 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -2534,9 +2905,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2545,6 +2917,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2557,9 +2930,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2568,6 +2942,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2590,7 +2965,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2646,7 +3021,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2677,34 +3052,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) -:: *withstack.withStack (top exception) -*fmttests.werrFmtoDelegate -(check the extra data payloads) -== Extra "1: details" -new-style × - × +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*fmttests.werrFmtoDelegate == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2714,11 +3120,11 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -2734,9 +3140,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2745,6 +3152,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2757,9 +3165,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ @@ -2768,6 +3177,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2790,7 +3200,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2846,7 +3256,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2877,34 +3287,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmttests.werrFmtp -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2914,15 +3355,15 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -2937,17 +3378,19 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - new-style innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } ===== ===== non-redactable formats @@ -2960,21 +3403,23 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - new-style innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } == Error() outerthree -outerfour: new-style innerone +outerfour - new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2982,9 +3427,10 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: new-style innerone +outerthree (1) outerthree - | outerfour + | outerfour - new-style innerone + | innertwo | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -2993,7 +3439,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3030,7 +3476,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: new-style ‹innerone› +‹outerfour - new-style innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3038,9 +3484,10 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹outerthree›: new-style ‹innerone› +‹outerthree› (1) ‹outerthree› - | ‹outerfour› + | ‹outerfour - new-style innerone› + | ‹innertwo› | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -3049,7 +3496,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3081,33 +3528,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== == Message payload :: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) *fmt.wrapError -(check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3117,104 +3596,171 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour opaque -require (?s)innerone.*innertwo ----- +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", - maskedErr: &errbase.opaqueWrapper{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - new-style innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "new-style innerone\ninnertwo", - maskedErr: &errbase.opaqueWrapper{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - new-style innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, }, - domain: "error domain: pkg ", } == Error() -new-style innerone -innertwo +outerthree +outerfour - new-style innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style innerone -(1) error domain: pkg -Wraps: (2) new-style innerone +outerthree +(1) outerthree + | outerfour - new-style innerone + | innertwo sibling error in wrapper + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) sibling error in wrapper + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (4) new-style innerone | innertwo - | -- cause hidden behind barrier - | new-style innerone - | (1) - | | (opaque error wrapper) - | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Wraps: (2) new-style innerone - | | innertwo - | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *domains.withDomain (2) *barriers.barrierError +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueWrapper (4) *errutil.leafError == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3224,160 +3770,29 @@ Error types: (1) *domains.withDomain (2) *barriers.barrierError ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹new-style innerone› -‹innertwo› +‹outerthree› +‹outerfour - new-style innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹new-style innerone› -(1) error domain: pkg -Wraps: (2) ‹new-style innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | new-style ‹innerone› - | (1) - | | (opaque error wrapper) - | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Wraps: (2) new-style ‹innerone› - | | ‹innertwo› - | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Error types: (1) *domains.withDomain (2) *barriers.barrierError -===== -===== Sentry reporting -===== -== Message payload -× -× --- -*barriers.barrierError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -*domains.withDomain: error domain: pkg (2) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × -== Extra "2: details" -error domain: pkg -== Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) ----- ----- - -run -newf innerone innertwo -hint outerthree outerfour -opaque - -require (?s)innerone.*innertwo ----- -&hintdetail.withHint{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - hint: "outerthree\nouterfour", -} -===== -===== non-redactable formats -===== -== %#v -&hintdetail.withHint{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - hint: "outerthree\nouterfour", -} -== Error() -new-style innerone -innertwo -== %v = Error(), good -== %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v -new-style innerone -(1) outerthree - | outerfour -Wraps: (2) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack +‹outerthree› +(1) ‹outerthree› + | ‹outerfour - new-style innerone› + | ‹innertwo sibling error in wrapper› + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) ‹sibling error in wrapper› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func23 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3401,35 +3816,12 @@ Wraps: (2) | : | runtime.goexit | : -Wraps: (3) new-style innerone - | innertwo -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueWrapper (3) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good -===== -===== redactable formats -===== -== printed via redact Print(), ok - congruent with %v -new-style ‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) ‹outerthree› -‹ | outerfour› -Wraps: (2) +Wraps: (3) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3453,40 +3845,133 @@ Wraps: (2) | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› +└─ Wraps: (4) new-style ‹innerone› | ‹innertwo› -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueWrapper (4) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: new-style × × --- -*errutil.leafError: new-style × (1) -:: *withstack.withStack (top exception) -*hintdetail.withHint +(1) × + | × + | × + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (4) new-style × + | × +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueWrapper (4) *errutil.leafError +-- report composition: +:: *errors.fundamental (top exception) +*errutil.leafError: new-style × +:: *withstack.withStack (1) +*fmt.wrapErrors (check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapErrors (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3496,52 +3981,72 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -issuelink outerthree outerfour +go-errorf-suffix outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "new-style innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "new-style innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } == Error() new-style innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good @@ -3549,15 +4054,18 @@ innertwo == %X = HEX Error(), good == %+v new-style innerone -(1) issue: https://mysite - | detail: outerthree +(1) new-style innerone + | innertwo - outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3583,7 +4091,7 @@ Wraps: (2) | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3593,24 +4101,28 @@ Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueWrapper (3) *erruti ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style ‹innerone› -‹innertwo› +‹new-style innerone› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour +‹new-style innerone› +(1) ‹new-style innerone› + | ‹innertwo - outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3636,42 +4148,71 @@ Wraps: (2) | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +:: × +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*issuelink.withIssueLink: https://mysite (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3681,18 +4222,21 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -migrated outerthree outerfour +goerr outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- &errbase.opaqueWrapper{ cause: &errbase.opaqueWrapper{ @@ -3701,17 +4245,19 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3724,20 +4270,23 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -new-style innerone +outerthree +outerfour: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3745,16 +4294,18 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style innerone -(1) +outerthree: new-style innerone +(1) outerthree + | outerfour + | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated + | type name: fmt/*fmt.wrapError Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3790,7 +4341,8 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style ‹innerone› +‹outerthree› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3798,16 +4350,18 @@ new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) +‹outerthree›: new-style ‹innerone› +(1) ‹outerthree› + | ‹outerfour› + | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated + | type name: fmt/*fmt.wrapError Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3838,33 +4392,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== Sentry reporting ===== == Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*fmttests.werrMigrated -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3874,52 +4460,59 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -msg outerthree outerfour +handled-domain outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- -&errutil.withPrefix{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, }, }, - prefix: "outerthree\nouterfour", + domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "new-style ‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, }, }, - prefix: "outerthree\nouterfour", + domain: "error domain: pkg ", } == Error() -outerthree -outerfour: new-style innerone +new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3927,41 +4520,45 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: new-style innerone -(1) outerthree - | outerfour -Wraps: (2) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack - | reportable 0: - | - | github.com/cockroachdb/errors/fmttests.glob..func15 - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | : - | github.com/cockroachdb/datadriven.runDirective.func1 - | : - | github.com/cockroachdb/datadriven.runDirective - | : - | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | : - | github.com/cockroachdb/datadriven.runTestInternal - | : - | github.com/cockroachdb/datadriven.RunTest - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | : - | github.com/cockroachdb/datadriven.Walk - | : - | github.com/cockroachdb/datadriven.Walk.func1 - | : - | testing.tRunner - | : - | runtime.goexit - | : -Wraps: (3) new-style innerone +new-style innerone +(1) error domain: pkg +Wraps: (2) new-style innerone | innertwo -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueWrapper (3) *errutil.leafError + | -- cause hidden behind barrier + | new-style innerone + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style innerone + | | innertwo + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Error types: (1) *domains.withDomain (2) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3971,8 +4568,7 @@ Error types: (1) *errutil.withPrefix (2) *errbase.opaqueWrapper (3) *errutil.lea ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: new-style ‹innerone› +new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3980,15 +4576,3567 @@ outerfour: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: new-style ‹innerone› -(1) outerthree +new-style ‹innerone› +(1) error domain: pkg +Wraps: (2) new-style ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | new-style ‹innerone› + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style ‹innerone› + | | ‹innertwo› + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +new-style × +(1) error domain: pkg +Wraps: (2) new-style × + | × + | -- cause hidden behind barrier + | new-style × + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "new-style ×" +(NO STACKTRACE) + +run +newf innerone innertwo +hint outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&hintdetail.withHint{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + hint: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&hintdetail.withHint{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + hint: "outerthree\nouterfour", +} +== Error() +new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) outerthree | outerfour Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueWrapper (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style × +(1) × +× +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*hintdetail.withHint +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +issuelink outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&issuelink.withIssueLink{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +===== +===== non-redactable formats +===== +== %#v +&issuelink.withIssueLink{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +== Error() +new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueWrapper (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style × +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*issuelink.withIssueLink: https://mysite +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +join outerthree outerfour +opaque + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo +---- +&join.joinError{ + errs: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +== Error() +new-style innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) new-style innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (5) new-style innerone + | innertwo +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueWrapper (5) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) new-style ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (5) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueWrapper (5) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +new-style × +(1) new-style × + | × + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (5) new-style × + | × +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueWrapper (5) *errutil.leafError +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*errutil.leafError: new-style × +:: *withstack.withStack (1) +*join.joinError +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +migrated outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*fmttests.werrMigrated +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +msg outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errutil.withPrefix{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: new-style innerone +(1) outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueWrapper (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: new-style ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: outerthree: new-style × +(1) outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: outerthree: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +multi-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: new-style innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueWrapper (11) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: new-style ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueWrapper (11) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: new-style × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style × + | × +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueWrapper (11) *errutil.leafError +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errutil.leafError: new-style × +:: *withstack.withStack (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +multi-elided-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: new-style innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueWrapper (11) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: new-style ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueWrapper (11) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: new-style × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (11) new-style × + | × +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueWrapper (11) *errutil.leafError +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*errutil.leafError: new-style × +:: *withstack.withStack (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +newfw outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +new-style (outerthree +outerfour) :: new-style innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | new-style innerone + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style innerone + | | innertwo + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style (outerthree + | outerfour) :: new-style innerone + | innertwo :: +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style innerone + | innertwo +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style (‹outerthree› +‹outerfour›) :: new-style ‹innerone› +‹innertwo› :: +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style (‹outerthree› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | new-style ‹innerone› + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style ‹innerone› + | | ‹innertwo› + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: new-style ‹innerone› + | ‹innertwo› :: +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style (× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | new-style × + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style (× + | ×) :: new-style × + | × :: +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +== Exception 1 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style (×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +newfw-suffix outerthree outerfour +opaque + +require (?s)innerone.*innertwo.*outerthree.*outerfour +---- +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + message: ":: new-style ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", + }, + secondaryError: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + message: ":: new-style ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", + }, + secondaryError: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +:: new-style innerone +innertwo :: new-style (outerthree +outerfour) +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +:: new-style innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | new-style innerone + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style innerone + | | innertwo + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) :: new-style innerone + | innertwo :: new-style (outerthree + | outerfour) +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style innerone + | innertwo +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +:: new-style ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +:: new-style ‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | new-style ‹innerone› + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style ‹innerone› + | | ‹innertwo› + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) :: new-style ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: :: new-style × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | new-style × + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func16 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) new-style × + | | × + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) :: new-style × + | × :: new-style (× + | ×) +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4012,44 +8160,62 @@ Wraps: (2) | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueWrapper (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: outerthree -outerfour: new-style × -× --- -*errutil.leafError: new-style × (1) +Wraps: (5) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withPrefix: outerthree (2) +*errutil.withNewMessage: :: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -outerthree - outerfour == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: outerthree\nouterfour: new-style ×\n×\nvia *withstack.withStack" +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: :: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4059,109 +8225,188 @@ Title: "*errutil.leafError: outerthree\nouterfour: new-style ×\n×\nvia *withst :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -newfw outerthree outerfour +nofmt outerthree outerfour opaque +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &errbase.opaqueWrapper{ - cause: &secondary.withSecondaryError{ - cause: &errutil.withNewMessage{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", - }, - secondaryError: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v &errbase.opaqueWrapper{ - cause: &secondary.withSecondaryError{ - cause: &errutil.withNewMessage{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - message: "new-style (‹outerthree›\n‹outerfour›) :: new-style ‹innerone›\n‹innertwo› ::", - }, - secondaryError: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -new-style (outerthree -outerfour) :: new-style innerone -innertwo :: +outerthree +outerfour: new-style innerone +innertwo == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree -(1) +outerthree: new-style innerone +(1) outerthree + | outerfour + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style innerone + | innertwo +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹outerthree› +‹outerfour›: new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹outerthree›: new-style ‹innerone› +(1) ‹outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4185,49 +8430,124 @@ new-style (outerthree | : | runtime.goexit | : -Wraps: (2) secondary error attachment - | new-style innerone - | (1) - | | (opaque error wrapper) - | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Wraps: (2) new-style innerone - | | innertwo - | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Wraps: (3) new-style (outerthree - | outerfour) :: new-style innerone - | innertwo :: -Wraps: (4) +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × +:: *withstack.withStack (top exception) +*fmttests.werrNoFmt +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +newf innerone innertwo +os-link outerthree outerfour +opaque + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo +---- +&os.LinkError{ + Op: "link", + Old: "/path/to/file", + New: "/path/to/newfile", + Err: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, +} +===== +===== non-redactable formats +===== +== %#v +&os.LinkError{Op:"link", Old:"/path/to/file", New:"/path/to/newfile", Err:&errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +}} +== Error() +link /path/to/file /path/to/newfile: new-style innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&os.LinkError{ + Op: "link", + Old: "/path/to/file", + New: "/path/to/newfile", + Err: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) +link /path/to/file /path/to/newfile: new-style innerone +(1) link /path/to/file /path/to/newfile +Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4251,34 +8571,29 @@ Wraps: (4) | : | runtime.goexit | : -Wraps: (5) new-style innerone +Wraps: (3) new-style innerone | innertwo -Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *os.LinkError (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: new-style ‹innerone› -‹innertwo› :: +link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› +‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› -(1) +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› +(1) link ‹/path/to/file› ‹/path/to/newfile› +Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4302,49 +8617,21 @@ new-style (‹outerthree› | : | runtime.goexit | : -Wraps: (2) secondary error attachment - | new-style ‹innerone› - | (1) - | | (opaque error wrapper) - | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func15 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Wraps: (2) new-style ‹innerone› - | | ‹innertwo› - | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: new-style ‹innerone› - | ‹innertwo› :: -Wraps: (4) +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *os.LinkError (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: link × ×: new-style × +(1) link × × +Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4368,106 +8655,30 @@ Wraps: (4) | : | runtime.goexit | : -Wraps: (5) new-style ‹innerone› - | ‹innertwo› -Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueWrapper (5) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: new-style (× -×) :: new-style × -× :: --- -*errutil.leafError: new-style × (1) +Wraps: (3) new-style × + | × +Error types: (1) *os.LinkError (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withNewMessage: new-style (× (2) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (3) -:: *withstack.withStack (4) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -new-style (× - ×) :: new-style × - × :: -== Extra "3: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func15 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - new-style × - × +*os.LinkError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) -github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) -github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") -Type: "(4) : (func39)" -Title: "*withstack.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func39() -== Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style (×\n×) :: new-style ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: link × ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4477,23 +8688,21 @@ Title: "*errutil.leafError: new-style (×\n×) :: new-style ×\n× ::\nvia *with :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -nofmt outerthree outerfour +os-netop outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- &errbase.opaqueWrapper{ cause: &errbase.opaqueWrapper{ @@ -4502,17 +8711,19 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "outerthree\nouterfour", + prefix: "send tcp unixhello", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + OriginalTypeName: "net/*net.OpError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -4525,21 +8736,22 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "outerthree\nouterfour", + prefix: "send tcp unixhello", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + OriginalTypeName: "net/*net.OpError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -outerthree -outerfour: new-style innerone +send tcp unixhello: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4547,18 +8759,17 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: new-style innerone -(1) outerthree - | outerfour +send tcp unixhello: new-style innerone +(1) send tcp unixhello | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt + | type name: net/*net.OpError Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4594,8 +8805,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹outerthree› -‹outerfour›: new-style ‹innerone› +‹send tcp unixhello›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4603,18 +8813,17 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹outerthree›: new-style ‹innerone› -(1) ‹outerthree› - | ‹outerfour› +‹send tcp unixhello›: new-style ‹innerone› +(1) ‹send tcp unixhello› | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt + | type name: net/*net.OpError Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4645,34 +8854,64 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: ×: new-style × +(1) × + | + | (opaque error wrapper) + | type name: net/*net.OpError +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*fmttests.werrNoFmt -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*net.OpError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) +net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4682,15 +8921,15 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -os-link outerthree outerfour +os-path outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -4698,37 +8937,38 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)innerone.*innertwo ---- -&os.LinkError{ - Op: "link", - Old: "/path/to/file", - New: "/path/to/newfile", - Err: &errbase.opaqueWrapper{ +&fs.PathError{ + Op: "link", + Path: "/path/to/file", + Err: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== ===== non-redactable formats ===== == %#v -&os.LinkError{Op:"link", Old:"/path/to/file", New:"/path/to/newfile", Err:&errbase.opaqueWrapper{ +&fs.PathError{Op:"link", Path:"/path/to/file", Err:&errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }} == Error() -link /path/to/file /path/to/newfile: new-style innerone +link /path/to/file: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4737,33 +8977,33 @@ innertwo == %X = HEX Error(), good == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) -&os.LinkError{ - Op: "link", - Old: "/path/to/file", - New: "/path/to/newfile", - Err: &errbase.opaqueWrapper{ +&fs.PathError{ + Op: "link", + Path: "/path/to/file", + Err: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -link /path/to/file /path/to/newfile: new-style innerone -(1) link /path/to/file /path/to/newfile +link /path/to/file: new-style innerone +(1) link /path/to/file Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4789,12 +9029,12 @@ Wraps: (2) | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *os.LinkError (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *fs.PathError (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› +link ‹/path/to/file›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4802,14 +9042,14 @@ link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -link ‹/path/to/file› ‹/path/to/newfile›: new-style ‹innerone› -(1) link ‹/path/to/file› ‹/path/to/newfile› +link ‹/path/to/file›: new-style ‹innerone› +(1) link ‹/path/to/file› Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4835,179 +9075,19 @@ Wraps: (2) | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *os.LinkError (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *fs.PathError (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: link × ×: new-style × -× --- -*errutil.leafError: new-style × (1) -:: *withstack.withStack (top exception) -*os.LinkError -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "error types" -github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) -github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -os/*os.LinkError (*::) -== Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: link × ×: new-style ×\n×\nvia *withstack.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func15() - -run -newf innerone innertwo -os-netop outerthree outerfour -opaque - -accept %\+v via Formattable.*IRREGULAR: not same as %\+v -accept %\#v via Formattable.*IRREGULAR: not same as %\#v - -require (?s)innerone.*innertwo ----- -&errbase.opaqueWrapper{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - prefix: "send tcp unixhello", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "net/*net.OpError", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, -} -===== -===== non-redactable formats -===== -== %#v -&errbase.opaqueWrapper{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - prefix: "send tcp unixhello", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "net/*net.OpError", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, -} -== Error() -send tcp unixhello: new-style innerone -innertwo -== %v = Error(), good -== %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v -send tcp unixhello: new-style innerone -(1) send tcp unixhello - | - | (opaque error wrapper) - | type name: net/*net.OpError -Wraps: (2) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack - | reportable 0: - | - | github.com/cockroachdb/errors/fmttests.glob..func15 - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | : - | github.com/cockroachdb/datadriven.runDirective.func1 - | : - | github.com/cockroachdb/datadriven.runDirective - | : - | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | : - | github.com/cockroachdb/datadriven.runTestInternal - | : - | github.com/cockroachdb/datadriven.RunTest - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | : - | github.com/cockroachdb/datadriven.Walk - | : - | github.com/cockroachdb/datadriven.Walk.func1 - | : - | testing.tRunner - | : - | runtime.goexit - | : -Wraps: (3) new-style innerone - | innertwo -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good -===== -===== redactable formats -===== -== printed via redact Print(), ok - congruent with %v -‹send tcp unixhello›: new-style ‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹send tcp unixhello›: new-style ‹innerone› -(1) ‹send tcp unixhello› - | - | (opaque error wrapper) - | type name: net/*net.OpError +:: link ×: new-style × +(1) link × Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5031,40 +9111,30 @@ Wraps: (2) | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: ×: new-style × -× --- -*errutil.leafError: new-style × (1) +Wraps: (3) new-style × + | × +Error types: (1) *fs.PathError (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*net.OpError -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*fs.PathError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -net/*net.OpError (*::) +io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: link ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5074,15 +9144,15 @@ Title: "*errutil.leafError: ×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -os-path outerthree outerfour +os-syscall outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -5090,36 +9160,37 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)innerone.*innertwo ---- -&fs.PathError{ - Op: "link", - Path: "/path/to/file", - Err: &errbase.opaqueWrapper{ +&os.SyscallError{ + Syscall: "open", + Err: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== ===== non-redactable formats ===== == %#v -&fs.PathError{Op:"link", Path:"/path/to/file", Err:&errbase.opaqueWrapper{ +&os.SyscallError{Syscall:"open", Err:&errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }} == Error() -link /path/to/file: new-style innerone +open: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -5128,32 +9199,32 @@ innertwo == %X = HEX Error(), good == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) -&fs.PathError{ - Op: "link", - Path: "/path/to/file", - Err: &errbase.opaqueWrapper{ +&os.SyscallError{ + Syscall: "open", + Err: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -link /path/to/file: new-style innerone -(1) link /path/to/file +open: new-style innerone +(1) open Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5179,12 +9250,12 @@ Wraps: (2) | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *fs.PathError (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *os.SyscallError (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -link ‹/path/to/file›: new-style ‹innerone› +open: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -5192,14 +9263,14 @@ link ‹/path/to/file›: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -link ‹/path/to/file›: new-style ‹innerone› -(1) link ‹/path/to/file› +open: new-style ‹innerone› +(1) open Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5225,38 +9296,66 @@ Wraps: (2) | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *fs.PathError (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *os.SyscallError (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: link ×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: open: new-style × +(1) open +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *os.SyscallError (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*fs.PathError -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*os.SyscallError == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -io/fs/*fs.PathError (os/*os.PathError::) +os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: link ×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: open: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5266,84 +9365,123 @@ Title: "*errutil.leafError: link ×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -os-syscall outerthree outerfour +pkgmsg outerthree outerfour opaque -accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %x.*IRREGULAR: not same as hex Error +accept %q.*IRREGULAR: not same as quoted Error +accept %X.*IRREGULAR: not same as HEX Error accept %\#v via Formattable.*IRREGULAR: not same as %\#v - -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&os.SyscallError{ - Syscall: "open", - Err: &errbase.opaqueWrapper{ +&errors.withMessage{ + cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, + msg: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&os.SyscallError{Syscall:"open", Err:&errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, -}} +outerthree +outerfour: new-style innerone +innertwo == Error() -open: new-style innerone +outerthree +outerfour: new-style innerone innertwo == %v = Error(), good == %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v = Error(), ok +== %q (IRREGULAR: not same as quoted Error()) +outerthree +outerfour: new-style innerone +innertwo +== %x (IRREGULAR: not same as hex Error()) +(EMPTY STRING) +== %X (IRREGULAR: not same as HEX Error()) +(EMPTY STRING) +== %+v +new-style innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-style innerone + | innertwo +Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +outerthree +outerfour == %#v via Formattable() (IRREGULAR: not same as %#v) -&os.SyscallError{ - Syscall: "open", - Err: &errbase.opaqueWrapper{ +&errors.withMessage{ + cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, + msg: "outerthree\nouterfour", } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -open: new-style innerone -(1) open +outerthree: new-style innerone +(1) outerthree + | outerfour Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5369,12 +9507,13 @@ Wraps: (2) | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *os.SyscallError (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errors.withMessage (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -open: new-style ‹innerone› +‹outerthree› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -5382,14 +9521,15 @@ open: new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -open: new-style ‹innerone› -(1) open +‹outerthree›: new-style ‹innerone› +(1) ‹outerthree› +‹ | outerfour› Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5415,38 +9555,67 @@ Wraps: (2) | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *os.SyscallError (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errors.withMessage (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: open: new-style × +:: ×: new-style × +(1) × × --- -*errutil.leafError: new-style × (1) +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errors.withMessage (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*os.SyscallError -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*errors.withMessage == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -os/*os.SyscallError (*::) +github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: open: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5456,15 +9625,15 @@ Title: "*errutil.leafError: open: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -pkgmsg outerthree outerfour +pkgstack outerthree outerfour opaque accept %x.*IRREGULAR: not same as hex Error @@ -5472,50 +9641,70 @@ accept %q.*IRREGULAR: not same as quoted Error accept %X.*IRREGULAR: not same as HEX Error accept %\#v via Formattable.*IRREGULAR: not same as %\#v accept %\+v via Formattable.*IRREGULAR: not same as %\+v -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- -&errors.withMessage{ +&errbase.opaqueWrapper{ + cause: &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - msg: "outerthree\nouterfour", + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } -===== -===== non-redactable formats -===== -== %#v -outerthree -outerfour: new-style innerone -innertwo == Error() -outerthree -outerfour: new-style innerone +new-style innerone innertwo == %v = Error(), good == %s = Error(), good -== %q (IRREGULAR: not same as quoted Error()) -outerthree -outerfour: new-style innerone -innertwo -== %x (IRREGULAR: not same as hex Error()) -(EMPTY STRING) -== %X (IRREGULAR: not same as HEX Error()) -(EMPTY STRING) +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good == %+v new-style innerone (1) | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5539,38 +9728,12 @@ new-style innerone | : | runtime.goexit | : -Wraps: (2) new-style innerone - | innertwo -Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError -outerthree -outerfour -== %#v via Formattable() (IRREGULAR: not same as %#v) -&errors.withMessage{ - cause: &errbase.opaqueWrapper{ - cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - msg: "outerthree\nouterfour", -} -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: new-style innerone -(1) outerthree - | outerfour Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5596,29 +9759,60 @@ Wraps: (2) | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *errors.withMessage (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹outerthree› -‹outerfour›: new-style ‹innerone› +new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: new-style ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5644,39 +9838,122 @@ Wraps: (2) | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *errors.withMessage (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: new-style × +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errors.withMessage +:: *errors.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/pkg/errors/*errors.withMessage (*::) +github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: "(1) : ...funcNN... +Title: "*errors.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5686,65 +9963,50 @@ Title: "*errutil.leafError: ×\n×: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -pkgstack outerthree outerfour +safedetails outerthree outerfour opaque -accept %x.*IRREGULAR: not same as hex Error -accept %q.*IRREGULAR: not same as quoted Error -accept %X.*IRREGULAR: not same as HEX Error -accept %\#v via Formattable.*IRREGULAR: not same as %\#v -accept %\+v via Formattable.*IRREGULAR: not same as %\+v require (?s)innerone.*innertwo ---- -&errbase.opaqueWrapper{ +&safedetails.withSafeDetails{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + safeDetails: {"safe ×\n×"}, } ===== ===== non-redactable formats ===== == %#v -&errbase.opaqueWrapper{ +&safedetails.withSafeDetails{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + safeDetails: {"safe ×\n×"}, } == Error() new-style innerone @@ -5756,41 +10018,14 @@ innertwo == %X = HEX Error(), good == %+v new-style innerone -(1) - | (opaque error wrapper) - | type name: github.com/pkg/errors/*errors.withStack - | reportable 0: - | - | github.com/cockroachdb/errors/fmttests.glob..func26 - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | : - | github.com/cockroachdb/datadriven.runDirective.func1 - | : - | github.com/cockroachdb/datadriven.runDirective - | : - | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | : - | github.com/cockroachdb/datadriven.runTestInternal - | : - | github.com/cockroachdb/datadriven.RunTest - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | : - | github.com/cockroachdb/datadriven.Walk - | : - | github.com/cockroachdb/datadriven.Walk.func1 - | : - | testing.tRunner - | : - | runtime.goexit - | : +(1) safe × + | × Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5816,7 +10051,7 @@ Wraps: (2) | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueWrapper (3) *errutil.leafError == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -5835,12 +10070,14 @@ new-style ‹innerone› == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v new-style ‹innerone› -(1) +(1) safe × + | × +Wraps: (2) | (opaque error wrapper) - | type name: github.com/pkg/errors/*errors.withStack + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5864,12 +10101,22 @@ new-style ‹innerone› | : | runtime.goexit | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting +===== +== Message payload +:: new-style × +(1) safe × + | × Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5893,67 +10140,30 @@ Wraps: (2) | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +Wraps: (3) new-style × + | × +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -:: *errors.withStack (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × +*safedetails.withSafeDetails: safe × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/pkg/errors/*errors.withStack (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) == Exception 1 (Module: "error domain: ") -Type: "(2) : (func26)" -Title: "*errors.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func26() -== Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5963,51 +10173,68 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo -safedetails outerthree outerfour +safefmt outerthree outerfour opaque -require (?s)innerone.*innertwo +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -new-style innerone +safe outerthree +outerfour: new-style innerone innertwo == %v = Error(), good == %s = Error(), good @@ -6015,15 +10242,18 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style innerone -(1) safe × - | × +safe outerthree: new-style innerone +(1) safe outerthree + | outerfour + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6049,7 +10279,7 @@ Wraps: (2) | : Wraps: (3) new-style innerone | innertwo -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -6059,7 +10289,8 @@ Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueWrapper (3) *er ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style ‹innerone› +‹safe outerthree› +‹outerfour›: new-style ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -6067,15 +10298,18 @@ new-style ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› -(1) safe × - | × +‹safe outerthree›: new-style ‹innerone› +(1) ‹safe outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6101,41 +10335,70 @@ Wraps: (2) | : Wraps: (3) new-style ‹innerone› | ‹innertwo› -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueWrapper (3) *errutil.leafError +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError ===== ===== Sentry reporting ===== == Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +:: ×: new-style × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*safedetails.withSafeDetails: safe × (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6145,11 +10408,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -6158,7 +10421,6 @@ opaque require (?s)innerone.*innertwo ---- ----- &secondary.withSecondaryError{ cause: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"new-style ‹innerone›\n‹innertwo›"}, @@ -6166,9 +10428,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, secondaryError: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"outerthree\nouterfour"}, @@ -6176,9 +10439,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -6192,9 +10456,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, secondaryError: &errbase.opaqueWrapper{ cause: &errutil.leafError{msg:"outerthree\nouterfour"}, @@ -6202,9 +10467,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -6224,7 +10490,7 @@ new-style innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6256,7 +10522,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6308,7 +10574,7 @@ new-style ‹innerone› | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6340,7 +10606,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6372,62 +10638,93 @@ Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueWrapper (3) *e ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) secondary error attachment + | outerthree + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6437,13 +10734,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -6459,17 +10754,19 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -6482,17 +10779,19 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style innerone @@ -6509,7 +10808,7 @@ new-style innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6538,7 +10837,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6571,24 +10870,90 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil. == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() == %+v, good ===== -===== redactable formats +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style ‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style ‹innerone› + | ‹innertwo› +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError +===== +===== Sentry reporting ===== -== printed via redact Print(), ok - congruent with %v -new-style ‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style ‹innerone› +== Message payload +:: new-style × (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6617,7 +10982,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6641,40 +11006,31 @@ Wraps: (2) | : | runtime.goexit | : -Wraps: (3) new-style ‹innerone› - | ‹innertwo› +Wraps: (3) new-style × + | × Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueWrapper (3) *errutil.leafError -===== -===== Sentry reporting -===== -== Message payload -:: new-style × -× --- -*errutil.leafError: new-style × (1) +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -:: *withstack.withStack (2) +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(2) : (func37)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6684,24 +11040,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6711,11 +11067,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -6731,9 +11087,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, tags: &logtags.Buffer{ tags: { @@ -6772,9 +11129,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, tags: &logtags.Buffer{ tags: { @@ -6818,7 +11176,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6869,7 +11227,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6901,35 +11259,60 @@ Error types: (1) *contexttags.withContext (2) *errbase.opaqueWrapper (3) *erruti ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) tags: [k×,safe=×] +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *contexttags.withContext (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*contexttags.withContext: k× (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6939,11 +11322,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -6959,9 +11342,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, keys: {"somekey", "outerthree\nouterfour"}, } @@ -6976,9 +11360,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, keys: {"somekey", "outerthree\nouterfour"}, } @@ -6999,7 +11384,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7051,7 +11436,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7083,36 +11468,61 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueWrapper (3) *er ===== == Message payload :: new-style × -× --- -*errutil.leafError: new-style × (1) +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) new-style × + | × +Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueWrapper (3) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*telemetrykeys.withTelemetry: somekey (2) -(check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7122,11 +11532,11 @@ Title: "*errutil.leafError: new-style ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -7143,9 +11553,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "new-stylew ‹outerthree›\n‹outerfour›", }, @@ -7153,9 +11564,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -7169,9 +11581,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "new-stylew ‹outerthree›\n‹outerfour›", }, @@ -7179,9 +11592,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-stylew outerthree @@ -7199,7 +11613,7 @@ new-stylew outerthree: new-style innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7230,7 +11644,7 @@ Wraps: (3) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7281,7 +11695,7 @@ new-stylew ‹outerthree›: new-style ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7312,7 +11726,7 @@ Wraps: (3) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7343,39 +11757,94 @@ Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opa ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: new-style × -× --- -*errutil.leafError: new-style × (1) +:: new-stylew ×: new-style × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (4) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opaqueWrapper (4) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withPrefix: new-stylew × (2) -:: *withstack.withStack (3) +*errutil.withPrefix: new-stylew × +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -new-stylew × - × == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(3) : (func40)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7385,24 +11854,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-stylew ×\n×: new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-stylew ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7412,11 +11881,11 @@ Title: "*errutil.leafError: new-stylew ×\n×: new-style ×\n×\nvia *withstack. :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run newf innerone innertwo @@ -7425,7 +11894,6 @@ opaque require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -7435,9 +11903,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "new-style ‹outerthree›\n‹outerfour› (payload)", }, @@ -7447,18 +11916,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -7473,9 +11944,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func15\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func16\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, prefix: "new-style ‹outerthree›\n‹outerfour› (payload)", }, @@ -7485,18 +11957,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style outerthree @@ -7514,7 +11988,7 @@ new-style outerthree: new-style innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7545,7 +12019,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -7578,7 +12052,7 @@ Wraps: (4) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7629,7 +12103,7 @@ new-style ‹outerthree›: new-style ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7660,7 +12134,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -7693,7 +12167,7 @@ Wraps: (4) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func15 + | github.com/cockroachdb/errors/fmttests.init.func16 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7724,51 +12198,110 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): new-style × -× --- -*errutil.leafError: new-style × (1) +:: new-style ×: new-style × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func16 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (5) new-style × + | × +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errbase.opaqueWrapper (5) *errutil.leafError +-- report composition: +*errutil.leafError: new-style × :: *withstack.withStack (top exception) -*errutil.withPrefix: new-style × (2) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (3) -:: *withstack.withStack (4) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × -== Extra "2: details" -new-style × - × (payload) -== Extra "3: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) @@ -7776,18 +12309,18 @@ github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(4) : (func51)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7797,24 +12330,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func15)" -Title: "*errutil.leafError: new-style ×\n× (payload): new-style ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*errutil.leafError: new-style ×: new-style ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7824,10 +12357,8 @@ Title: "*errutil.leafError: new-style ×\n× (payload): new-style ×\n×\nvia *w :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func15() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-nofmt b/fmttests/testdata/format/wrap-nofmt index e203a81..488be4a 100644 --- a/fmttests/testdata/format/wrap-nofmt +++ b/fmttests/testdata/format/wrap-nofmt @@ -6,8 +6,8 @@ require (?s) ---- &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, }, stack: &stack{...}, @@ -19,8 +19,8 @@ require (?s) == %#v &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, }, stack: &stack{...}, @@ -39,7 +39,7 @@ innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -70,7 +70,7 @@ Wraps: (3) innerone | (1) innerone | | innertwo | Error types: (1) *fmttests.errNoFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -92,7 +92,7 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barr (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -120,37 +120,71 @@ Wraps: (3) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *fmttests.errNoFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *fmttests.errNoFmt +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × :: *withstack.withStack (top exception) *assert.withAssertionFailure == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -160,11 +194,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -175,8 +209,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -191,8 +225,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, }, prefix: "assertmsg: ‹outerthree›\n‹outerfour›", @@ -214,7 +248,7 @@ assertmsg: outerthree: innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -247,7 +281,7 @@ Wraps: (4) innerone | (1) innerone | | innertwo | Error types: (1) *fmttests.errNoFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -270,7 +304,7 @@ assertmsg: ‹outerthree›: ‹innerone› (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -300,44 +334,75 @@ Wraps: (4) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *fmttests.errNoFmt -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError -*errutil.withPrefix: assertmsg: × (1) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *fmttests.errNoFmt +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -347,11 +412,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -359,16 +424,16 @@ barrier outerthree outerfour require (?s) ---- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, } == Error() @@ -388,7 +453,7 @@ innerone | (1) innerone | | innertwo | Error types: (1) *fmttests.errNoFmt -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -411,23 +476,30 @@ Error types: (1) *barriers.barrierError | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *fmttests.errNoFmt -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *fmttests.errNoFmt +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run @@ -485,21 +557,26 @@ Error types: (1) *fmttests.werrDelegate (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- multi-line› ‹ | wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrDelegate (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +× +× +Wraps: (2) × +× +Error types: (1) *fmttests.werrDelegate (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrDelegate == Extra "error types" @@ -507,7 +584,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -559,7 +636,7 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *fmttests.errNoFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrDelegateEmpty (2) *fmttests.errNoFmt ===== @@ -567,8 +644,11 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *fmttests.errNoFmt ===== == Message payload × +(1) +Wraps: (2) × × --- +Error types: (1) *fmttests.werrDelegateEmpty (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrDelegateEmpty == Extra "error types" @@ -576,7 +656,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -628,7 +708,7 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *fmttests.errNoFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) ‹detail› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrDelegateNoPrefix (2) *fmttests.errNoFmt ===== @@ -636,8 +716,11 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *fmttests.errNoFmt ===== == Message payload × +(1) × +Wraps: (2) × × --- +Error types: (1) *fmttests.werrDelegateNoPrefix (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrDelegateNoPrefix == Extra "error types" @@ -645,7 +728,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -701,7 +784,7 @@ Error types: (1) *hintdetail.withDetail (2) *fmttests.errNoFmt ‹innerone› (1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *hintdetail.withDetail (2) *fmttests.errNoFmt ===== @@ -709,8 +792,12 @@ Error types: (1) *hintdetail.withDetail (2) *fmttests.errNoFmt ===== == Message payload × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *hintdetail.withDetail (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *hintdetail.withDetail == Extra "error types" @@ -718,7 +805,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -772,7 +859,7 @@ Error types: (1) *domains.withDomain (2) *fmttests.errNoFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) mydomain -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *domains.withDomain (2) *fmttests.errNoFmt ===== @@ -780,19 +867,19 @@ Error types: (1) *domains.withDomain (2) *fmttests.errNoFmt ===== == Message payload × +(1) mydomain +Wraps: (2) × × --- +Error types: (1) *domains.withDomain (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -846,9 +933,9 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrWithElidedCause (2) *fmttests.errNoFmt ===== @@ -856,8 +943,12 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *fmttests.errNoFmt ===== == Message payload × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *fmttests.werrWithElidedCause (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrWithElidedCause == Extra "error types" @@ -865,7 +956,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -917,7 +1008,7 @@ Error types: (1) *fmttests.werrEmpty (2) *fmttests.errNoFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrEmpty (2) *fmttests.errNoFmt ===== @@ -925,8 +1016,11 @@ Error types: (1) *fmttests.werrEmpty (2) *fmttests.errNoFmt ===== == Message payload × +(1) +Wraps: (2) × × --- +Error types: (1) *fmttests.werrEmpty (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrEmpty == Extra "error types" @@ -934,7 +1028,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -993,22 +1087,28 @@ Error types: (1) *fmttests.werrFmt (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- this is outerthree› ‹ | outerfour's› ‹ | multi-line wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmt (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +× × --- +× +Wraps: (2) × +× +Error types: (1) *fmttests.werrFmt (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrFmt == Extra "error types" @@ -1016,7 +1116,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1081,19 +1181,22 @@ Error types: (1) *fmttests.werrFmto (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmto (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *fmttests.werrFmto (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrFmto == Extra "error types" @@ -1101,7 +1204,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1166,19 +1269,22 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmtoDelegate (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *fmttests.werrFmtoDelegate (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrFmtoDelegate == Extra "error types" @@ -1186,7 +1292,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1242,19 +1348,22 @@ Error types: (1) *fmttests.werrFmtp (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrFmtp (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *fmttests.werrFmtp (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrFmtp == Extra "error types" @@ -1262,12 +1371,12 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run nofmt innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v @@ -1275,17 +1384,17 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)outerthree.*outerfour.* ---- &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*fmttests.errNoFmt)(0xAAAABBBB)} +&fmt.wrapError{msg:"outerthree\nouterfour - innerone\ninnertwo", err:(*fmttests.errNoFmt)(0xAAAABBBB)} == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1295,16 +1404,17 @@ innertwo == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo Wraps: (2) innerone | innertwo Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt @@ -1313,7 +1423,7 @@ Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1321,10 +1431,11 @@ Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› -Wraps: (2) ‹innerone›‹› +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - innerone› +‹ | innertwo› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt ===== @@ -1332,9 +1443,13 @@ Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt ===== == Message payload × -×: × +(1) × +× × --- +Wraps: (2) × +× +Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmt.wrapError == Extra "error types" @@ -1342,189 +1457,399 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×" (NO STACKTRACE) run nofmt innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - }, - domain: "error domain: pkg ", -} +&fmt.wrapErrors{msg:"outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", errs:[]error{(*fmttests.errNoFmt)(0xAAAABBBB), (*errors.fundamental)(0xAAAABBBB)}} == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone - | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | Error types: (1) *fmttests.errNoFmt -Error types: (1) *domains.withDomain (2) *barriers.barrierError -== %#v via Formattable() = %#v, good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, + }, +} == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree +(1) outerthree + | outerfour - innerone + | innertwo sibling error in wrapper +Wraps: (2) sibling error in wrapper + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone + | innertwo +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *fmttests.errNoFmt ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone›‹› - | ‹ | innertwo› - | Error types: (1) *fmttests.errNoFmt -Error types: (1) *domains.withDomain (2) *barriers.barrierError +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - innerone› +‹ | innertwo sibling error in wrapper› +Wraps: (2) ‹sibling error in wrapper› +‹ | github.com/cockroachdb/errors/fmttests.init.func23› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Wraps: (3) ‹innerone› +‹ | innertwo› +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload × +(1) × × --- -*barriers.barrierError -*domains.withDomain: error domain: pkg (1) -(check the extra data payloads) -== Extra "1: details" -error domain: pkg +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Wraps: (3) × +× +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *fmttests.errNoFmt +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.errNoFmt +*fmt.wrapErrors == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) - +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +fmt/*fmt.wrapErrors (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + run nofmt innerone innertwo -hint outerthree outerfour +go-errorf-suffix outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s).*outerthree.*outerfour ---- -&hintdetail.withHint{ - cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, } ===== ===== non-redactable formats ===== == %#v -&hintdetail.withHint{ - cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - hint: "outerthree\nouterfour", -} +&fmt.wrapError{msg:"innerone\ninnertwo - outerthree\nouterfour", err:(*fmttests.errNoFmt)(0xAAAABBBB)} == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) innerone -(1) outerthree +(1) innerone + | innertwo - outerthree | outerfour Wraps: (2) innerone | innertwo -Error types: (1) *hintdetail.withHint (2) *fmttests.errNoFmt -== %#v via Formattable() = %#v, good +Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo - outerthree› +‹outerfour› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹innerone› +(1) ‹innerone› +‹ | innertwo - outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +× +(1) × +× +× +Wraps: (2) × +× +Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt +-- report composition: +*fmttests.errNoFmt +*fmt.wrapError +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +fmt/*fmt.wrapError (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +goerr outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* +---- +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, +} +===== +===== non-redactable formats +===== +== %#v +&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*fmttests.errNoFmt)(0xAAAABBBB)} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, +} == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree›: ‹innerone› (1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *hintdetail.withHint (2) *fmttests.errNoFmt +Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload +×: × +(1) × × +Wraps: (2) × × --- +Error types: (1) *fmt.wrapError (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*hintdetail.withHint +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run nofmt innerone innertwo -issuelink outerthree outerfour +handled-domain outerthree outerfour require (?s) ---- -&issuelink.withIssueLink{ - cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + }, + domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ - cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + }, + domain: "error domain: pkg ", } == Error() innerone @@ -1536,12 +1861,15 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) issue: https://mysite - | detail: outerthree - | outerfour +(1) error domain: pkg Wraps: (2) innerone | innertwo -Error types: (1) *issuelink.withIssueLink (2) *fmttests.errNoFmt + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | Error types: (1) *fmttests.errNoFmt +Error types: (1) *domains.withDomain (2) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1560,49 +1888,57 @@ Error types: (1) *issuelink.withIssueLink (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone›‹› -‹ | innertwo› -Error types: (1) *issuelink.withIssueLink (2) *fmttests.errNoFmt +(1) error domain: pkg +Wraps: (2) ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | Error types: (1) *fmttests.errNoFmt +Error types: (1) *domains.withDomain (2) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*fmttests.errNoFmt -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | Error types: (1) *fmttests.errNoFmt +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*domains.withDomain: error domain: pkg == Extra "error types" -github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) -== Exception 1 (Module: "error domain: ") -Type: "*fmttests.errNoFmt" -Title: "×\n×" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run nofmt innerone innertwo -migrated outerthree outerfour +hint outerthree outerfour require (?s) ---- -&fmttests.werrMigrated{ +&hintdetail.withHint{ cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&fmttests.werrMigrated{ +&hintdetail.withHint{ cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + hint: "outerthree\nouterfour", } == Error() innerone @@ -1614,10 +1950,11 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) +(1) outerthree + | outerfour Wraps: (2) innerone | innertwo -Error types: (1) *fmttests.werrMigrated (2) *fmttests.errNoFmt +Error types: (1) *hintdetail.withHint (2) *fmttests.errNoFmt == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1636,61 +1973,1366 @@ Error types: (1) *fmttests.werrMigrated (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) -Wraps: (2) ‹innerone›‹› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› -Error types: (1) *fmttests.werrMigrated (2) *fmttests.errNoFmt +Error types: (1) *hintdetail.withHint (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload × +(1) × × --- +Wraps: (2) × +× +Error types: (1) *hintdetail.withHint (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*fmttests.werrMigrated +*hintdetail.withHint == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run nofmt innerone innertwo -msg outerthree outerfour +issuelink outerthree outerfour + +require (?s) +---- +&issuelink.withIssueLink{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +===== +===== non-redactable formats +===== +== %#v +&issuelink.withIssueLink{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *issuelink.withIssueLink (2) *fmttests.errNoFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *issuelink.withIssueLink (2) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +× +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × +× +Error types: (1) *issuelink.withIssueLink (2) *fmttests.errNoFmt +-- report composition: +*fmttests.errNoFmt +*issuelink.withIssueLink: https://mysite +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +join outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s) +---- +&join.joinError{ + errs: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +== Error() +innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *fmttests.errNoFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› +‹ | innertwo› +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × +× +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *fmttests.errNoFmt +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*fmttests.errNoFmt +*join.joinError +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +nofmt innerone innertwo +migrated outerthree outerfour + +require (?s) +---- +&fmttests.werrMigrated{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrMigrated{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) +Wraps: (2) innerone + | innertwo +Error types: (1) *fmttests.werrMigrated (2) *fmttests.errNoFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.werrMigrated (2) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +× +(1) +Wraps: (2) × +× +Error types: (1) *fmttests.werrMigrated (2) *fmttests.errNoFmt +-- report composition: +*fmttests.errNoFmt +*fmttests.werrMigrated +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +msg outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&errutil.withPrefix{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *errutil.withPrefix (2) *fmttests.errNoFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *errutil.withPrefix (2) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × +× +Error types: (1) *errutil.withPrefix (2) *fmttests.errNoFmt +-- report composition: +*fmttests.errNoFmt +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "outerthree: ×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +multi-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errNoFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errNoFmt +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errNoFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +nofmt innerone innertwo +multi-elided-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errNoFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *fmttests.errNoFmt +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errNoFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +nofmt innerone innertwo +newfw outerthree outerfour require (?s)outerthree.*outerfour.* ---- -&errutil.withPrefix{ - cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + }, + stack: &stack{...}, } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ - cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - prefix: "outerthree\nouterfour", +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + }, + stack: &stack{...}, } == Error() -outerthree -outerfour: innerone -innertwo +new-style (outerthree +outerfour) :: innerone +innertwo :: == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone -(1) outerthree - | outerfour -Wraps: (2) innerone +new-style (outerthree +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | Error types: (1) *fmttests.errNoFmt +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone | innertwo -Error types: (1) *errutil.withPrefix (2) *fmttests.errNoFmt +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errNoFmt == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1700,54 +3342,144 @@ Error types: (1) *errutil.withPrefix (2) *fmttests.errNoFmt ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› -‹innertwo› +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree - | outerfour -Wraps: (2) ‹innerone›‹› +new-style (‹outerthree› +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | Error types: (1) *fmttests.errNoFmt +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› ‹ | innertwo› -Error types: (1) *errutil.withPrefix (2) *fmttests.errNoFmt +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -outerthree -outerfour: × +:: new-style (× +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | Error types: (1) *fmttests.errNoFmt +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × × --- +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*errutil.withPrefix: outerthree (1) -(check the extra data payloads) -== Extra "1: details" -outerthree - outerfour +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError +:: *withstack.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "*fmttests.errNoFmt" -Title: "outerthree\nouterfour: ×\n×" -(NO STACKTRACE) +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: new-style (×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour -require (?s)outerthree.*outerfour.* +require (?s).*outerthree.*outerfour ---- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, }, @@ -1761,26 +3493,26 @@ require (?s)outerthree.*outerfour.* cause: &secondary.withSecondaryError{ cause: &errutil.withNewMessage{ cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, }, stack: &stack{...}, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +:: innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1809,9 +3541,9 @@ Wraps: (2) secondary error attachment | (1) innerone | | innertwo | Error types: (1) *fmttests.errNoFmt -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) Wraps: (4) innerone | innertwo Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errNoFmt @@ -1824,19 +3556,19 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +:: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1862,50 +3594,80 @@ new-style (‹outerthree› | : Wraps: (2) secondary error attachment | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | Error types: (1) *fmttests.errNoFmt -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: -Wraps: (4) ‹innerone›‹› +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) +Wraps: (4) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -:: new-style (× -×) :: × -× :: --- +:: :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | Error types: (1) *fmttests.errNoFmt +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × +× +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*errutil.withNewMessage: new-style (× (1) +*errutil.withNewMessage: :: × *secondary.withSecondaryError :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func39)" -Title: "*fmttests.errNoFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: :: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1915,11 +3677,11 @@ Title: "*fmttests.errNoFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.with :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -1978,19 +3740,22 @@ Error types: (1) *fmttests.werrNoFmt (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fmttests.werrNoFmt (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *fmttests.werrNoFmt (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fmttests.werrNoFmt == Extra "error types" @@ -1998,7 +3763,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2060,7 +3825,7 @@ link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› (1) link ‹/path/to/file› ‹/path/to/newfile› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *os.LinkError (2) *fmttests.errNoFmt ===== @@ -2068,8 +3833,11 @@ Error types: (1) *os.LinkError (2) *fmttests.errNoFmt ===== == Message payload link × ×: × +(1) link × × +Wraps: (2) × × --- +Error types: (1) *os.LinkError (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *os.LinkError == Extra "error types" @@ -2077,7 +3845,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "link × ×: ×\n×" +Title: "link × ×: ×" (NO STACKTRACE) run @@ -2141,7 +3909,7 @@ send tcp ‹unixhello›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() send tcp ‹unixhello›: ‹innerone› (1) send tcp ‹unixhello› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *net.OpError (2) *fmttests.errNoFmt ===== @@ -2149,8 +3917,11 @@ Error types: (1) *net.OpError (2) *fmttests.errNoFmt ===== == Message payload send tcp ×: × +(1) send tcp × +Wraps: (2) × × --- +Error types: (1) *net.OpError (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *net.OpError == Extra "error types" @@ -2158,7 +3929,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "send tcp ×: ×\n×" +Title: "send tcp ×: ×" (NO STACKTRACE) run @@ -2218,7 +3989,7 @@ link ‹/path/to/file›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file›: ‹innerone› (1) link ‹/path/to/file› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *fs.PathError (2) *fmttests.errNoFmt ===== @@ -2226,8 +3997,11 @@ Error types: (1) *fs.PathError (2) *fmttests.errNoFmt ===== == Message payload link ×: × +(1) link × +Wraps: (2) × × --- +Error types: (1) *fs.PathError (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *fs.PathError == Extra "error types" @@ -2235,7 +4009,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "link ×: ×\n×" +Title: "link ×: ×" (NO STACKTRACE) run @@ -2293,7 +4067,7 @@ open: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() open: ‹innerone› (1) open -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *os.SyscallError (2) *fmttests.errNoFmt ===== @@ -2301,8 +4075,11 @@ Error types: (1) *os.SyscallError (2) *fmttests.errNoFmt ===== == Message payload open: × +(1) open +Wraps: (2) × × --- +Error types: (1) *os.SyscallError (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *os.SyscallError == Extra "error types" @@ -2310,7 +4087,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "open: ×\n×" +Title: "open: ×" (NO STACKTRACE) run @@ -2383,19 +4160,22 @@ Error types: (1) *errors.withMessage (2) *fmttests.errNoFmt == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errors.withMessage (2) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -× ×: × +(1) × +× +Wraps: (2) × × --- +Error types: (1) *errors.withMessage (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt *errors.withMessage == Extra "error types" @@ -2403,7 +4183,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2440,7 +4220,7 @@ innertwo == %+v innerone innertwo -github.com/cockroachdb/errors/fmttests.glob..func26 +github.com/cockroachdb/errors/fmttests.init.func30 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -2476,7 +4256,7 @@ runtime.goexit innerone (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2518,7 +4298,7 @@ Error types: (1) *errors.withStack (2) *fmttests.errNoFmt ‹innerone› (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2542,7 +4322,7 @@ Error types: (1) *errors.withStack (2) *fmttests.errNoFmt | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *errors.withStack (2) *fmttests.errNoFmt ===== @@ -2550,26 +4330,54 @@ Error types: (1) *errors.withStack (2) *fmttests.errNoFmt ===== == Message payload :: × +(1) + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × × --- +Error types: (1) *errors.withStack (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt :: *errors.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func26)" -Title: "*fmttests.errNoFmt: ×\n×\nvia *errors.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: ×\nvia *errors.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2579,11 +4387,11 @@ Title: "*fmttests.errNoFmt: ×\n×\nvia *errors.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func26() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -2638,7 +4446,7 @@ Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errNoFmt ‹innerone› (1) safe × | × -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errNoFmt ===== @@ -2646,20 +4454,99 @@ Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errNoFmt ===== == Message payload × +(1) safe × + | × +Wraps: (2) × × --- +Error types: (1) *safedetails.withSafeDetails (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*safedetails.withSafeDetails: safe × == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +safefmt outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.werrSafeFormat{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + msg: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrSafeFormat{ + cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, + msg: "outerthree\nouterfour", +} +== Error() +safe outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +safe outerthree: innerone +(1) safe outerthree + | outerfour +Wraps: (2) innerone + | innertwo +Error types: (1) *fmttests.werrSafeFormat (2) *fmttests.errNoFmt +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +safe ‹outerthree› +‹outerfour›: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +safe ‹outerthree›: ‹innerone› +(1) safe ‹outerthree› + | ‹outerfour› +Wraps: (2) ‹innerone› +‹ | innertwo› +Error types: (1) *fmttests.werrSafeFormat (2) *fmttests.errNoFmt +===== +===== Sentry reporting +===== +== Message payload +safe ×: × +(1) safe × + | × +Wraps: (2) × +× +Error types: (1) *fmttests.werrSafeFormat (2) *fmttests.errNoFmt +-- report composition: +*fmttests.errNoFmt +*fmttests.werrSafeFormat +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "safe ×: ×" (NO STACKTRACE) run @@ -2668,7 +4555,6 @@ secondary outerthree outerfour require (?s) ---- ----- &secondary.withSecondaryError{ cause: &fmttests.errNoFmt{msg:"innerone\ninnertwo"}, secondaryError: &withstack.withStack{ @@ -2701,7 +4587,7 @@ innerone | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -2753,7 +4639,7 @@ Error types: (1) *secondary.withSecondaryError (2) *fmttests.errNoFmt | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -2780,7 +4666,7 @@ Error types: (1) *secondary.withSecondaryError (2) *fmttests.errNoFmt | Wraps: (2) outerthree | | outerfour | Error types: (1) *withstack.withStack (2) *errutil.leafError -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *secondary.withSecondaryError (2) *fmttests.errNoFmt ===== @@ -2788,50 +4674,50 @@ Error types: (1) *secondary.withSecondaryError (2) *fmttests.errNoFmt ===== == Message payload × +(1) secondary error attachment + | outerthree + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (2) × × --- +Error types: (1) *secondary.withSecondaryError (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) ----- ----- run nofmt innerone innertwo @@ -2863,7 +4749,7 @@ innertwo innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2910,7 +4796,7 @@ Error types: (1) *withstack.withStack (2) *fmttests.errNoFmt ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2934,7 +4820,7 @@ Error types: (1) *withstack.withStack (2) *fmttests.errNoFmt | : | runtime.goexit | : -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *fmttests.errNoFmt ===== @@ -2942,26 +4828,54 @@ Error types: (1) *withstack.withStack (2) *fmttests.errNoFmt ===== == Message payload :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × × --- +Error types: (1) *withstack.withStack (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt :: *withstack.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func37)" -Title: "*fmttests.errNoFmt: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2971,11 +4885,11 @@ Title: "*fmttests.errNoFmt: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -3084,7 +4998,7 @@ Error types: (1) *contexttags.withContext (2) *fmttests.errNoFmt == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) tags: [k‹123›,safe=456] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *contexttags.withContext (2) *fmttests.errNoFmt ===== @@ -3092,20 +5006,19 @@ Error types: (1) *contexttags.withContext (2) *fmttests.errNoFmt ===== == Message payload × +(1) tags: [k×,safe=456] +Wraps: (2) × × --- +Error types: (1) *contexttags.withContext (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3161,7 +5074,7 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *fmttests.errNoFmt ‹innerone› (1) keys: [somekey outerthree | outerfour] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› Error types: (1) *telemetrykeys.withTelemetry (2) *fmttests.errNoFmt ===== @@ -3169,21 +5082,20 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *fmttests.errNoFmt ===== == Message payload × +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × × --- +Error types: (1) *telemetrykeys.withTelemetry (2) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -3223,7 +5135,7 @@ innertwo new-stylew outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3273,7 +5185,7 @@ new-stylew ‹outerthree› new-stylew ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3299,41 +5211,66 @@ new-stylew ‹outerthree›: ‹innerone› | : Wraps: (2) new-stylew ‹outerthree› | ‹outerfour› -Wraps: (3) ‹innerone›‹› +Wraps: (3) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × +:: new-stylew ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) × × --- +Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*errutil.withPrefix: new-stylew × (1) +*errutil.withPrefix: new-stylew × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func40)" -Title: "*fmttests.errNoFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: new-stylew ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3343,11 +5280,11 @@ Title: "*fmttests.errNoFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -3355,7 +5292,6 @@ wrapf-attached outerthree outerfour require (?s)outerthree.*outerfour.* ---- ----- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -3399,7 +5335,7 @@ innertwo new-style outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3427,7 +5363,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3479,7 +5415,7 @@ new-style ‹outerthree› new-style ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3507,7 +5443,7 @@ Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3535,72 +5471,98 @@ Wraps: (2) secondary error attachment | Error types: (1) *withstack.withStack (2) *errutil.leafError Wraps: (3) new-style ‹outerthree› | ‹outerfour› (payload) -Wraps: (4) ‹innerone›‹› +Wraps: (4) ‹innerone› ‹ | innertwo› Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *fmttests.errNoFmt ===== ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × +:: new-style ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × × --- +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *fmttests.errNoFmt +-- report composition: *fmttests.errNoFmt -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func51)" -Title: "*fmttests.errNoFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: new-style ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3610,10 +5572,8 @@ Title: "*fmttests.errNoFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.w :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-nofmt-via-network b/fmttests/testdata/format/wrap-nofmt-via-network index a8504d6..86cc14b 100644 --- a/fmttests/testdata/format/wrap-nofmt-via-network +++ b/fmttests/testdata/format/wrap-nofmt-via-network @@ -7,8 +7,8 @@ require (?s)innerone.*innertwo ---- &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -23,9 +23,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -34,8 +35,8 @@ require (?s)innerone.*innertwo == %#v &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -50,9 +51,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -71,7 +73,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -105,7 +107,7 @@ Wraps: (3) innerone | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -130,7 +132,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -164,34 +166,74 @@ Wraps: (3) ‹innerone› | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × :: *withstack.withStack (top exception) *assert.withAssertionFailure == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -201,11 +243,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -217,8 +259,8 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -235,9 +277,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -247,8 +290,8 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -265,9 +308,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -287,7 +331,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -323,7 +367,7 @@ Wraps: (4) innerone | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -349,7 +393,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -385,41 +429,78 @@ Wraps: (4) ‹innerone› | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError -*errutil.withPrefix: assertmsg: × (1) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -429,11 +510,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -442,8 +523,8 @@ opaque require (?s)innerone.*innertwo ---- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -458,8 +539,8 @@ require (?s)innerone.*innertwo ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -490,7 +571,7 @@ innerone | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -519,20 +600,30 @@ Error types: (1) *barriers.barrierError | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) run @@ -559,6 +650,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -581,6 +673,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -638,10 +731,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrDelegate == Extra "error types" @@ -649,7 +751,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -676,6 +778,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -698,6 +801,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -750,8 +854,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrDelegateEmpty == Extra "error types" @@ -759,7 +871,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -786,6 +898,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -808,6 +921,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -860,8 +974,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrDelegateNoPrefix == Extra "error types" @@ -869,7 +991,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -956,8 +1078,15 @@ Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueLeaf ===== == Message payload × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *hintdetail.withDetail == Extra "error types" @@ -965,7 +1094,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1050,19 +1179,22 @@ Error types: (1) *domains.withDomain (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) mydomain +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *domains.withDomain (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1136,7 +1268,7 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› @@ -1149,8 +1281,15 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf ===== == Message payload × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrWithElidedCause == Extra "error types" @@ -1158,7 +1297,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1185,6 +1324,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1207,6 +1347,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -1259,8 +1400,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrEmpty == Extra "error types" @@ -1268,7 +1417,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -1295,6 +1444,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1317,6 +1467,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1374,10 +1525,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrFmt == Extra "error types" @@ -1385,7 +1545,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1415,6 +1575,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1437,6 +1598,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1494,10 +1656,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrFmto == Extra "error types" @@ -1505,7 +1676,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1535,6 +1706,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1557,6 +1729,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1614,10 +1787,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrFmtoDelegate == Extra "error types" @@ -1625,7 +1807,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -1652,6 +1834,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1674,6 +1857,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -1731,10 +1915,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrFmtp == Extra "error types" @@ -1742,12 +1935,12 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run nofmt innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -1765,13 +1958,14 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } ===== ===== non-redactable formats @@ -1787,17 +1981,18 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -1805,9 +2000,10 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -1827,7 +2023,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -1835,9 +2031,10 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹outerthree›: ‹innerone› +‹outerthree› (1) ‹outerthree› - | ‹outerfour› + | ‹outerfour - innerone› + | ‹innertwo› | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -1852,9 +2049,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload × -×: × -× --- +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmt.wrapError == Extra "error types" @@ -1862,20 +2069,31 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×" (NO STACKTRACE) run nofmt innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errbase.opaqueLeaf{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", @@ -1884,17 +2102,33 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errbase.opaqueLeaf{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", @@ -1903,31 +2137,70 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, }, - domain: "error domain: pkg ", } == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone - | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | | - | | (opaque error leaf) - | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt - | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *domains.withDomain (2) *barriers.barrierError +outerthree +(1) outerthree + | outerfour - innerone + | innertwo sibling error in wrapper + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) sibling error in wrapper + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -1937,55 +2210,152 @@ Error types: (1) *domains.withDomain (2) *barriers.barrierError ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› +‹outerthree› +(1) ‹outerthree› + | ‹outerfour - innerone› + | ‹innertwo sibling error in wrapper› + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) ‹sibling error in wrapper› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) ‹innerone› | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone› - | | ‹innertwo› - | | - | | (opaque error leaf) - | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt - | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *domains.withDomain (2) *barriers.barrierError + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError -*domains.withDomain: error domain: pkg (1) -(check the extra data payloads) -== Extra "1: details" -error domain: pkg +(1) × + | × + | × + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.errNoFmt +*fmt.wrapErrors == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +fmt/*fmt.wrapErrors (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo -hint outerthree outerfour +go-errorf-suffix outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- -&hintdetail.withHint{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -1995,13 +2365,20 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - hint: "outerthree\nouterfour", + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } ===== ===== non-redactable formats ===== == %#v -&hintdetail.withHint{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2011,11 +2388,19 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - hint: "outerthree\nouterfour", + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good @@ -2023,14 +2408,18 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) outerthree +(1) innerone + | innertwo - outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2041,7 +2430,8 @@ Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf ===== == printed via redact Print(), ok - congruent with %v ‹innerone› -‹innertwo› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good @@ -2049,39 +2439,57 @@ Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) ‹outerthree› -‹ | outerfour› +(1) ‹innerone› + | ‹innertwo - outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload × -× --- +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*hintdetail.withHint +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run nofmt innerone innertwo -issuelink outerthree outerfour +goerr outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2091,13 +2499,20 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2107,10 +2522,18 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -innerone +outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2118,16 +2541,18 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) issue: https://mysite - | detail: outerthree +outerthree: innerone +(1) outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2137,7 +2562,8 @@ Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2145,46 +2571,174 @@ Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone› - | ‹innertwo› - | +‹outerthree›: ‹innerone› +(1) ‹outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) ‹innerone› + | ‹innertwo› + | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -× -× --- +×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run nofmt innerone innertwo -migrated outerthree outerfour +handled-domain outerthree outerfour opaque require (?s)innerone.*innertwo ---- -&errbase.opaqueWrapper{ +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + domain: "error domain: pkg ", +} +===== +===== non-redactable formats +===== +== %#v +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + domain: "error domain: pkg ", +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) error domain: pkg +Wraps: (2) innerone + | innertwo + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) error domain: pkg +Wraps: (2) ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | | ‹innertwo› + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +× +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: masked error: × +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +hint outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&hintdetail.withHint{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2194,19 +2748,13 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, + hint: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&errbase.opaqueWrapper{ +&hintdetail.withHint{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2216,13 +2764,7 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, + hint: "outerthree\nouterfour", } == Error() innerone @@ -2234,15 +2776,14 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +(1) outerthree + | outerfour Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2261,40 +2802,46 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +(1) ‹outerthree› +‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*fmttests.werrMigrated +*hintdetail.withHint == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run nofmt innerone innertwo -msg outerthree outerfour +issuelink outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- -&errutil.withPrefix{ +&issuelink.withIssueLink{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2304,13 +2851,13 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ +&issuelink.withIssueLink{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -2320,11 +2867,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } == Error() -outerthree -outerfour: innerone +innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2332,15 +2878,16 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone -(1) outerthree +innerone +(1) issue: https://mysite + | detail: outerthree | outerfour Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -2350,8 +2897,7 @@ Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› +‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2359,43 +2905,1962 @@ outerfour: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree +‹innerone› +(1) issue: https://mysite + | detail: outerthree | outerfour Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -outerthree -outerfour: × × --- +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*errutil.withPrefix: outerthree (1) -(check the extra data payloads) -== Extra "1: details" -outerthree - outerfour +*issuelink.withIssueLink: https://mysite == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +join outerthree outerfour +opaque + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo +---- +&join.joinError{ + errs: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +== Error() +innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +*fmttests.errNoFmt +*join.joinError +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +nofmt innerone innertwo +migrated outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: +*fmttests.errNoFmt +*fmttests.werrMigrated +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +msg outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errutil.withPrefix{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +-- report composition: +*fmttests.errNoFmt +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "outerthree: ×" +(NO STACKTRACE) + +run +nofmt innerone innertwo +multi-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errNoFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +nofmt innerone innertwo +multi-elided-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +*fmttests.errNoFmt +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +nofmt innerone innertwo +newfw outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +new-style (outerthree +outerfour) :: innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style (‹outerthree› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | | ‹innertwo› + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: new-style (× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +-- report composition: +*fmttests.errNoFmt +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError +:: *withstack.withStack (top exception) +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "*fmttests.errNoFmt" -Title: "outerthree\nouterfour: ×\n×" -(NO STACKTRACE) +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: new-style (×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ @@ -2409,7 +4874,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", @@ -2425,9 +4890,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2445,7 +4911,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", @@ -2461,27 +4927,28 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +:: innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: innerone (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2513,9 +4980,9 @@ Wraps: (2) secondary error attachment | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) Wraps: (4) innerone | innertwo | @@ -2531,22 +4998,22 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +:: ‹innerone› (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2578,9 +5045,9 @@ Wraps: (2) secondary error attachment | | (opaque error leaf) | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt | Error types: (1) *errbase.opaqueLeaf -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) Wraps: (4) ‹innerone› | ‹innertwo› | @@ -2591,37 +5058,76 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== Sentry reporting ===== == Message payload -:: new-style (× -×) :: × -× :: --- +:: :: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*errutil.withNewMessage: new-style (× (1) +*errutil.withNewMessage: :: × *secondary.withSecondaryError :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func39)" -Title: "*fmttests.errNoFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: :: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2631,11 +5137,11 @@ Title: "*fmttests.errNoFmt: new-style (×\n×) :: ×\n× ::\nvia *withstack.with :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -2664,6 +5170,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2686,6 +5193,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2743,10 +5251,19 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × -× --- +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fmttests.werrNoFmt == Extra "error types" @@ -2754,7 +5271,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -2855,8 +5372,14 @@ Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf ===== == Message payload link × ×: × -× --- +(1) link × × +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *os.LinkError == Extra "error types" @@ -2864,7 +5387,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "link × ×: ×\n×" +Title: "link × ×: ×" (NO STACKTRACE) run @@ -2894,6 +5417,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2916,6 +5440,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() send tcp unixhello: innerone @@ -2970,8 +5495,17 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload ×: × -× --- +(1) × + | + | (opaque error wrapper) + | type name: net/*net.OpError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *net.OpError == Extra "error types" @@ -2979,7 +5513,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -3078,8 +5612,14 @@ Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf ===== == Message payload link ×: × -× --- +(1) link × +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *fs.PathError == Extra "error types" @@ -3087,7 +5627,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "link ×: ×\n×" +Title: "link ×: ×" (NO STACKTRACE) run @@ -3184,8 +5724,14 @@ Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf ===== == Message payload open: × -× --- +(1) open +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *os.SyscallError == Extra "error types" @@ -3193,7 +5739,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "open: ×\n×" +Title: "open: ×" (NO STACKTRACE) run @@ -3291,7 +5837,7 @@ Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› @@ -3303,10 +5849,16 @@ Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -× ×: × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt *errors.withMessage == Extra "error types" @@ -3314,7 +5866,7 @@ github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×: ×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -3343,9 +5895,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3365,9 +5918,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -3384,7 +5938,7 @@ innerone | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3437,7 +5991,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3472,26 +6026,60 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt :: *errors.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func26)" -Title: "*fmttests.errNoFmt: ×\n×\nvia *errors.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: ×\nvia *errors.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3501,20 +6089,123 @@ Title: "*fmttests.errNoFmt: ×\n×\nvia *errors.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func26() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +nofmt innerone innertwo +safedetails outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&safedetails.withSafeDetails{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + safeDetails: {"safe ×\n×"}, +} +===== +===== non-redactable formats +===== +== %#v +&safedetails.withSafeDetails{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + safeDetails: {"safe ×\n×"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) safe × + | × +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) safe × + | × +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) safe × + | × +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +-- report composition: +*fmttests.errNoFmt +*safedetails.withSafeDetails: safe × +== Extra "error types" +github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +== Exception 1 (Module: "error domain: ") +Type: "*fmttests.errNoFmt" +Title: "×" +(NO STACKTRACE) run nofmt innerone innertwo -safedetails outerthree outerfour +safefmt outerthree outerfour opaque -require (?s)innerone.*innertwo +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -3524,13 +6215,20 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ @@ -3540,10 +6238,18 @@ require (?s)innerone.*innertwo FullDetails: (*types.Any)(nil), }, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -innerone +safe outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3551,15 +6257,18 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) safe × - | × +safe outerthree: innerone +(1) safe outerthree + | outerfour + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3569,7 +6278,8 @@ Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹safe outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3577,34 +6287,43 @@ Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) safe × - | × +‹safe outerthree›: ‹innerone› +(1) ‹safe outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -× -× --- +×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×: ×" (NO STACKTRACE) run @@ -3614,7 +6333,6 @@ opaque require (?s)innerone.*innertwo ---- ----- &secondary.withSecondaryError{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", @@ -3631,9 +6349,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -3656,9 +6375,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -3678,7 +6398,7 @@ innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3736,7 +6456,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3774,50 +6494,56 @@ Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) secondary error attachment + | outerthree + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) ----- ----- run nofmt innerone innertwo @@ -3840,9 +6566,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3862,9 +6589,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -3881,7 +6609,7 @@ innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3934,7 +6662,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3969,26 +6697,60 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt :: *withstack.withStack (top exception) == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func37)" -Title: "*fmttests.errNoFmt: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3998,11 +6760,11 @@ Title: "*fmttests.errNoFmt: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -4134,20 +6896,22 @@ Error types: (1) *contexttags.withContext (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) tags: [k×,safe=×] +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *contexttags.withContext (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -4234,21 +6998,23 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueLeaf ===== == Message payload × -× --- +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") Type: "*fmttests.errNoFmt" -Title: "×\n×" +Title: "×" (NO STACKTRACE) run @@ -4275,9 +7041,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -4300,9 +7067,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-stylew outerthree @@ -4320,7 +7088,7 @@ new-stylew outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4376,7 +7144,7 @@ new-stylew ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4412,34 +7180,65 @@ Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opa ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × -× --- +:: new-stylew ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*errutil.withPrefix: new-stylew × (1) +*errutil.withPrefix: new-stylew × :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func40)" -Title: "*fmttests.errNoFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: new-stylew ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4449,11 +7248,11 @@ Title: "*fmttests.errNoFmt: new-stylew ×\n×: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run nofmt innerone innertwo @@ -4462,7 +7261,6 @@ opaque require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -4483,18 +7281,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -4520,18 +7320,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style outerthree @@ -4549,7 +7351,7 @@ new-style outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4580,7 +7382,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -4638,7 +7440,7 @@ new-style ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4669,7 +7471,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -4707,65 +7509,100 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × -× --- +:: new-style ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errbase.opaqueLeaf +-- report composition: *fmttests.errNoFmt -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: :: *withstack.withStack (top exception) -(check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/cockroachdb/errors/fmttests/*fmttests.errNoFmt (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func51)" -Title: "*fmttests.errNoFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*fmttests.errNoFmt: new-style ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4775,10 +7612,8 @@ Title: "*fmttests.errNoFmt: new-style ×\n× (payload): ×\n×\nvia *withstack.w :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-pkgerr b/fmttests/testdata/format/wrap-pkgerr index 29ae020..a177243 100644 --- a/fmttests/testdata/format/wrap-pkgerr +++ b/fmttests/testdata/format/wrap-pkgerr @@ -4,11 +4,10 @@ assertion outerthree outerfour require (?s) ---- ----- &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -23,8 +22,8 @@ require (?s) == %#v &assert.withAssertionFailure{ cause: &withstack.withStack{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -46,7 +45,7 @@ innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -77,7 +76,7 @@ Wraps: (3) innerone | (1) innerone | | innertwo | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -102,7 +101,7 @@ Wraps: (3) innerone | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -124,7 +123,7 @@ Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barr (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -152,10 +151,10 @@ Wraps: (3) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -180,62 +179,93 @@ Wraps: (3) ‹innerone› | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -245,13 +275,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -259,12 +287,11 @@ assertwrap outerthree outerfour require (?s)outerthree.*outerfour.* ---- ----- &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -282,8 +309,8 @@ require (?s)outerthree.*outerfour.* &assert.withAssertionFailure{ cause: &withstack.withStack{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -308,7 +335,7 @@ assertmsg: outerthree: innerone (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -341,7 +368,7 @@ Wraps: (4) innerone | (1) innerone | | innertwo | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -366,7 +393,7 @@ Wraps: (4) innerone | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -389,7 +416,7 @@ assertmsg: ‹outerthree›: ‹innerone› (1) assertion failure Wraps: (2) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -419,10 +446,10 @@ Wraps: (4) ‹innerone› | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -447,68 +474,97 @@ Wraps: (4) ‹innerone› | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) -*errutil.withPrefix: assertmsg: × (2) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -== Extra "2: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -518,13 +574,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -532,9 +586,8 @@ barrier outerthree outerfour require (?s) ---- ----- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -544,8 +597,8 @@ require (?s) ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -568,7 +621,7 @@ innerone | (1) innerone | | innertwo | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -593,7 +646,7 @@ innerone | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -616,10 +669,10 @@ Error types: (1) *barriers.barrierError | ‹innertwo› | -- cause hidden behind barrier | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -644,51 +697,53 @@ Error types: (1) *barriers.barrierError | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) ----- ----- run pkgerr innerone innertwo @@ -731,7 +786,7 @@ outerthree: innerone | wrapper payload Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -775,13 +830,13 @@ Error types: (1) *fmttests.werrDelegate (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- multi-line› ‹ | wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -810,28 +865,57 @@ Error types: (1) *fmttests.werrDelegate (2) *errors.fundamental ===== Sentry reporting ===== == Message payload -:: × -×: × +:: ×: × +(1) × +× +× × --- +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrDelegate (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrDelegate == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -841,11 +925,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -882,7 +966,7 @@ innerone (1) Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -926,9 +1010,9 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.fundamental == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -958,26 +1042,53 @@ Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.fundamental ===== == Message payload :: × +(1) +Wraps: (2) × +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrDelegateEmpty (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrDelegateEmpty == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -987,11 +1098,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1028,7 +1139,7 @@ innerone (1) detail Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1072,9 +1183,9 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *errors.fundamental == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) ‹detail› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -1104,26 +1215,53 @@ Error types: (1) *fmttests.werrDelegateNoPrefix (2) *errors.fundamental ===== == Message payload :: × +(1) × +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrDelegateNoPrefix (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrDelegateNoPrefix == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1133,11 +1271,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1177,7 +1315,7 @@ innerone | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1222,9 +1360,9 @@ Error types: (1) *hintdetail.withDetail (2) *errors.fundamental ‹innerone› (1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -1254,28 +1392,56 @@ Error types: (1) *hintdetail.withDetail (2) *errors.fundamental ===== == Message payload :: × +(1) × × --- -:: *errors.fundamental (top exception) -*hintdetail.withDetail -== Extra "error types" -github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) -== Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *hintdetail.withDetail (2) *errors.fundamental +-- report composition: +:: *errors.fundamental (top exception) +*hintdetail.withDetail +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() :: (github.com/cockroachdb/datadriven) runTestInternal() :: @@ -1283,11 +1449,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1326,7 +1492,7 @@ innerone (1) mydomain Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1370,9 +1536,9 @@ Error types: (1) *domains.withDomain (2) *errors.fundamental == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) mydomain -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -1402,29 +1568,53 @@ Error types: (1) *domains.withDomain (2) *errors.fundamental ===== == Message payload :: × +(1) mydomain +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +Error types: (1) *domains.withDomain (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1434,11 +1624,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1478,7 +1668,7 @@ outerthree | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1521,11 +1711,11 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -1555,26 +1745,54 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errors.fundamental ===== == Message payload :: × +(1) × +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +Error types: (1) *fmttests.werrWithElidedCause (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrWithElidedCause == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1584,11 +1802,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1625,7 +1843,7 @@ innerone (1) Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1669,9 +1887,9 @@ Error types: (1) *fmttests.werrEmpty (2) *errors.fundamental == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -1701,26 +1919,53 @@ Error types: (1) *fmttests.werrEmpty (2) *errors.fundamental ===== == Message payload :: × +(1) +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrEmpty (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrEmpty == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1730,11 +1975,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1778,7 +2023,7 @@ outerthree: innerone | multi-line wrapper payload Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1822,14 +2067,14 @@ Error types: (1) *fmttests.werrFmt (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› ‹ | -- this is outerthree› ‹ | outerfour's› ‹ | multi-line wrapper payload› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -1858,28 +2103,58 @@ Error types: (1) *fmttests.werrFmt (2) *errors.fundamental ===== Sentry reporting ===== == Message payload -:: × -×: × +:: ×: × +(1) × × --- +× +× +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrFmt (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrFmt == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1889,11 +2164,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1928,7 +2203,7 @@ innertwo == %+v innerone innertwo -github.com/cockroachdb/errors/fmttests.glob..func9 +github.com/cockroachdb/errors/fmttests.init.func9 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -1972,7 +2247,7 @@ outerthree: innerone | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2011,11 +2286,11 @@ Error types: (1) *fmttests.werrFmto (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -2044,28 +2319,55 @@ Error types: (1) *fmttests.werrFmto (2) *errors.fundamental ===== Sentry reporting ===== == Message payload -:: × -×: × +:: ×: × +(1) × × --- +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrFmto (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrFmto == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2075,11 +2377,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -2114,7 +2416,7 @@ innertwo == %+v innerone innertwo -github.com/cockroachdb/errors/fmttests.glob..func9 +github.com/cockroachdb/errors/fmttests.init.func9 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -2158,7 +2460,7 @@ outerthree: innerone | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2197,11 +2499,11 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -2230,28 +2532,55 @@ Error types: (1) *fmttests.werrFmtoDelegate (2) *errors.fundamental ===== Sentry reporting ===== == Message payload -:: × -×: × +:: ×: × +(1) × +× +Wraps: (2) × +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrFmtoDelegate (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrFmtoDelegate == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2261,11 +2590,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -2306,7 +2635,7 @@ outerthree: innerone | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2350,11 +2679,11 @@ Error types: (1) *fmttests.werrFmtp (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -2383,28 +2712,55 @@ Error types: (1) *fmttests.werrFmtp (2) *errors.fundamental ===== Sentry reporting ===== == Message payload -:: × -×: × +:: ×: × +(1) × +× +Wraps: (2) × +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrFmtp (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrFmtp == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2414,15 +2770,15 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v @@ -2430,7 +2786,7 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)outerthree.*outerfour.* ---- &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -2440,10 +2796,10 @@ require (?s)outerthree.*outerfour.* ===== non-redactable formats ===== == %#v -&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*errors.fundamental)(0xAAAABBBB)} +&fmt.wrapError{msg:"outerthree\nouterfour - innerone\ninnertwo", err:(*errors.fundamental)(0xAAAABBBB)} == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2453,7 +2809,7 @@ innertwo == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) &fmt.wrapError{ - msg: "outerthree\nouterfour: innerone\ninnertwo", + msg: "outerthree\nouterfour - innerone\ninnertwo", err: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, @@ -2463,12 +2819,13 @@ innertwo == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2498,7 +2855,7 @@ Error types: (1) *fmt.wrapError (2) *errors.fundamental ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2506,12 +2863,13 @@ Error types: (1) *fmt.wrapError (2) *errors.fundamental == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› -Wraps: (2) ‹innerone›‹› +‹outerthree› +(1) ‹outerthree› +‹ | outerfour - innerone› +‹ | innertwo› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -2541,27 +2899,55 @@ Error types: (1) *fmt.wrapError (2) *errors.fundamental ===== == Message payload :: × -×: × +(1) × +× +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmt.wrapError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmt.wrapError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2571,227 +2957,99 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour -require (?s) ----- +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errors.fundamental{ +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, }, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errors.fundamental{ - msg: "innerone\ninnertwo", - stack: &stack{...}, - }, - }, - domain: "error domain: pkg ", -} +&fmt.wrapErrors{msg:"outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", errs:[]error{(*errors.fundamental)(0xAAAABBBB), (*errors.fundamental)(0xAAAABBBB)}} == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone - | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Error types: (1) *errors.fundamental -Error types: (1) *domains.withDomain (2) *barriers.barrierError -== %#v via Formattable() = %#v, good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapErrors{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + errs: { + &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + &errors.fundamental{ + msg: "sibling error in wrapper", + stack: &stack{...}, + }, + }, +} == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good -===== -===== redactable formats -===== -== printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone›‹› - | ‹ | innertwo› - | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Error types: (1) *errors.fundamental -Error types: (1) *domains.withDomain (2) *barriers.barrierError -===== -===== Sentry reporting -===== -== Message payload -× -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) -*domains.withDomain: error domain: pkg (2) -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -== Extra "2: details" -error domain: pkg -== Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) ----- ----- - -run -pkgerr innerone innertwo -hint outerthree outerfour - -require (?s) ----- -&hintdetail.withHint{ - cause: &errors.fundamental{ - msg: "innerone\ninnertwo", - stack: &stack{...}, - }, - hint: "outerthree\nouterfour", -} -===== -===== non-redactable formats -===== -== %#v -&hintdetail.withHint{ - cause: &errors.fundamental{ - msg: "innerone\ninnertwo", - stack: &stack{...}, - }, - hint: "outerthree\nouterfour", -} -== Error() -innerone -innertwo -== %v = Error(), good -== %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v -innerone +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree (1) outerthree - | outerfour -Wraps: (2) innerone + | outerfour - innerone + | innertwo sibling error in wrapper +Wraps: (2) sibling error in wrapper + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2815,30 +3073,26 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *hintdetail.withHint (2) *errors.fundamental -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *errors.fundamental ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree› (1) ‹outerthree› -‹ | outerfour› -Wraps: (2) ‹innerone›‹› -‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | outerfour - innerone› +‹ | innertwo sibling error in wrapper› +Wraps: (2) ‹sibling error in wrapper› +‹ | github.com/cockroachdb/errors/fmttests.init.func23› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -2862,33 +3116,116 @@ Wraps: (2) ‹innerone›‹› ‹ | :› ‹ | runtime.goexit› ‹ | :› -Error types: (1) *hintdetail.withHint (2) *errors.fundamental -===== -===== Sentry reporting -===== -== Message payload -:: × -× --- -:: *errors.fundamental (top exception) -*hintdetail.withHint -== Extra "error types" -github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) -== Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: +Wraps: (3) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +× +(1) × +× +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Wraps: (3) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmt.wrapErrors (2) *errors.fundamental (3) *errors.fundamental +-- report composition: +:: *errors.fundamental (top exception) +:: *errors.fundamental (1) +*fmt.wrapErrors +(check the extra data payloads) +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/pkg/errors/*errors.fundamental (*::) +fmt/*fmt.wrapErrors (*::) +== Exception 1 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: (github.com/cockroachdb/datadriven) RunTest() :: (github.com/cockroachdb/datadriven) runTestInternal() @@ -2897,52 +3234,89 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -issuelink outerthree outerfour +go-errorf-suffix outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s).*outerthree.*outerfour ---- -&issuelink.withIssueLink{ - cause: &errors.fundamental{ +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ - cause: &errors.fundamental{ - msg: "innerone\ninnertwo", - stack: &stack{...}, - }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, -} +&fmt.wrapError{msg:"innerone\ninnertwo - outerthree\nouterfour", err:(*errors.fundamental)(0xAAAABBBB)} == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "innerone\ninnertwo - outerthree\nouterfour", + err: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) innerone -(1) issue: https://mysite - | detail: outerthree +(1) innerone + | innertwo - outerthree | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2966,31 +3340,27 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *issuelink.withIssueLink (2) *errors.fundamental -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapError (2) *errors.fundamental ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v ‹innerone› -‹innertwo› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone›‹› +(1) ‹innerone› +‹ | innertwo - outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -3014,37 +3384,61 @@ Wraps: (2) ‹innerone›‹› ‹ | :› ‹ | runtime.goexit› ‹ | :› -Error types: (1) *issuelink.withIssueLink (2) *errors.fundamental +Error types: (1) *fmt.wrapError (2) *errors.fundamental ===== ===== Sentry reporting ===== == Message payload :: × +(1) × +× +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +Error types: (1) *fmt.wrapError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3054,20 +3448,24 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -migrated outerthree outerfour +goerr outerthree outerfour -require (?s) +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.* ---- -&fmttests.werrMigrated{ - cause: &errors.fundamental{ +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, }, @@ -3076,26 +3474,35 @@ require (?s) ===== non-redactable formats ===== == %#v -&fmttests.werrMigrated{ - cause: &errors.fundamental{ - msg: "innerone\ninnertwo", - stack: &stack{...}, - }, -} +&fmt.wrapError{msg:"outerthree\nouterfour: innerone\ninnertwo", err:(*errors.fundamental)(0xAAAABBBB)} == Error() -innerone +outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good -== %+v -innerone -(1) +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&fmt.wrapError{ + msg: "outerthree\nouterfour: innerone\ninnertwo", + err: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) +outerthree: innerone +(1) outerthree + | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3119,29 +3526,26 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *fmttests.werrMigrated (2) *errors.fundamental -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *fmt.wrapError (2) *errors.fundamental ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) -Wraps: (2) ‹innerone›‹› +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +‹outerthree›: ‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -3165,32 +3569,60 @@ Wraps: (2) ‹innerone›‹› ‹ | :› ‹ | runtime.goexit› ‹ | :› -Error types: (1) *fmttests.werrMigrated (2) *errors.fundamental +Error types: (1) *fmt.wrapError (2) *errors.fundamental ===== ===== Sentry reporting ===== == Message payload -:: × +:: ×: × +(1) × +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +Error types: (1) *fmt.wrapError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*fmttests.werrMigrated +*fmt.wrapError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3200,39 +3632,214 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -msg outerthree outerfour +handled-domain outerthree outerfour -require (?s)outerthree.*outerfour.* +require (?s) ---- -&errutil.withPrefix{ +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + }, + domain: "error domain: pkg ", +} +===== +===== non-redactable formats +===== +== %#v +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + }, + domain: "error domain: pkg ", +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) error domain: pkg +Wraps: (2) innerone + | innertwo + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) error domain: pkg +Wraps: (2) ‹innerone› + | ‹innertwo› + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +× +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | × + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" +(NO STACKTRACE) + +run +pkgerr innerone innertwo +hint outerthree outerfour + +require (?s) +---- +&hintdetail.withHint{ cause: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, }, - prefix: "outerthree\nouterfour", + hint: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ +&hintdetail.withHint{ cause: &errors.fundamental{ msg: "innerone\ninnertwo", stack: &stack{...}, }, - prefix: "outerthree\nouterfour", + hint: "outerthree\nouterfour", } == Error() -outerthree -outerfour: innerone +innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3240,12 +3847,12 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone +innerone (1) outerthree | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3269,7 +3876,7 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *errutil.withPrefix (2) *errors.fundamental +Error types: (1) *hintdetail.withHint (2) *errors.fundamental == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3279,8 +3886,7 @@ Error types: (1) *errutil.withPrefix (2) *errors.fundamental ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› +‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3288,12 +3894,12 @@ outerfour: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree - | outerfour -Wraps: (2) ‹innerone›‹› +‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -3317,37 +3923,2198 @@ Wraps: (2) ‹innerone›‹› ‹ | :› ‹ | runtime.goexit› ‹ | :› -Error types: (1) *errutil.withPrefix (2) *errors.fundamental +Error types: (1) *hintdetail.withHint (2) *errors.fundamental ===== ===== Sentry reporting ===== == Message payload -:: outerthree -outerfour: × +:: × +(1) × +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *hintdetail.withHint (2) *errors.fundamental +-- report composition: +:: *errors.fundamental (top exception) +*hintdetail.withHint +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +issuelink outerthree outerfour + +require (?s) +---- +&issuelink.withIssueLink{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +===== +===== non-redactable formats +===== +== %#v +&issuelink.withIssueLink{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *issuelink.withIssueLink (2) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *issuelink.withIssueLink (2) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +:: × +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *issuelink.withIssueLink (2) *errors.fundamental +-- report composition: +:: *errors.fundamental (top exception) +*issuelink.withIssueLink: https://mysite +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +join outerthree outerfour + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s) +---- +&join.joinError{ + errs: { + &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, +} +== Error() +innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | [...repeated from below...] +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | [...repeated from below...] +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | [...repeated from below...] +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *join.joinError (2) *withstack.withStack (3) *errutil.leafError (4) *errors.fundamental +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +:: *errors.fundamental (1) +*join.joinError +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +migrated outerthree outerfour + +require (?s) +---- +&fmttests.werrMigrated{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrMigrated{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) +Wraps: (2) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.werrMigrated (2) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *fmttests.werrMigrated (2) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +:: × +(1) +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrMigrated (2) *errors.fundamental +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.werrMigrated +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +msg outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&errutil.withPrefix{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errutil.withPrefix (2) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *errutil.withPrefix (2) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +:: outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *errutil.withPrefix (2) *errors.fundamental +-- report composition: +:: *errors.fundamental (top exception) +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: outerthree: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +multi-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"included 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.fundamental +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +:: *errors.fundamental (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +multi-elided-cause outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + stack: &stack{...}, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 1"}, + stack: &stack{...}, + }, + &withstack.withStack{ + cause: &errutil.leafError{msg:"elided 2"}, + stack: &stack{...}, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | [...repeated from below...] + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *withstack.withStack (4) *errutil.leafError (5) *withstack.withStack (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *withstack.withStack (9) *errutil.leafError (10) *errors.fundamental +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +:: *errors.fundamental (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +newfw outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + }, + stack: &stack{...}, +} +===== +===== non-redactable formats +===== +== %#v +&withstack.withStack{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + }, + stack: &stack{...}, +} +== Error() +new-style (outerthree +outerfour) :: innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style (‹outerthree› +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | ‹ | innertwo› + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +:: new-style (× +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*errutil.withPrefix: outerthree (1) +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError: details for github.com/pkg/errors/*errors.fundamental::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -outerthree - outerfour == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: outerthree\nouterfour: ×\n×" +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: new-style (×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3357,18 +6124,17 @@ Title: "*errors.fundamental: outerthree\nouterfour: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -newfw outerthree outerfour +newfw-suffix outerthree outerfour -require (?s)outerthree.*outerfour.* ----- +require (?s).*outerthree.*outerfour ---- &withstack.withStack{ cause: &secondary.withSecondaryError{ @@ -3377,7 +6143,7 @@ require (?s)outerthree.*outerfour.* msg: "innerone\ninnertwo", stack: &stack{...}, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errors.fundamental{ msg: "innerone\ninnertwo", @@ -3397,7 +6163,7 @@ require (?s)outerthree.*outerfour.* msg: "innerone\ninnertwo", stack: &stack{...}, }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", }, secondaryError: &errors.fundamental{ msg: "innerone\ninnertwo", @@ -3407,19 +6173,19 @@ require (?s)outerthree.*outerfour.* stack: &stack{...}, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +:: innerone +innertwo :: new-style (outerthree +outerfour) == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree +:: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | [...repeated from below...] Wraps: (2) secondary error attachment @@ -3427,7 +6193,7 @@ Wraps: (2) secondary error attachment | (1) innerone | | innertwo | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3452,12 +6218,12 @@ Wraps: (2) secondary error attachment | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) Wraps: (4) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3491,27 +6257,27 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› +:: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func47 | : | [...repeated from below...] Wraps: (2) secondary error attachment | ‹innerone› - | (1) ‹innerone›‹› + | (1) ‹innerone› | ‹ | innertwo› | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -3536,12 +6302,12 @@ Wraps: (2) secondary error attachment | | runtime.goexit | | : | Error types: (1) *errors.fundamental -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: -Wraps: (4) ‹innerone›‹› +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) +Wraps: (4) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -3570,64 +6336,96 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== Sentry reporting ===== == Message payload -:: new-style (× -×) :: × -× :: --- +:: :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | × + | (1) × + | × + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errors.fundamental +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*errutil.withNewMessage: new-style (× (1) -*secondary.withSecondaryError: details for github.com/pkg/errors/*errors.fundamental::: (2) -:: *withstack.withStack (3) +*errutil.withNewMessage: :: × +*secondary.withSecondaryError: details for github.com/pkg/errors/*errors.fundamental::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: -== Extra "2: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(3) : (func39)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3637,24 +6435,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: new-style (×\n×) :: ×\n× ::" +Type: ": ...funcNN... +Title: "*errors.fundamental: :: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3664,13 +6462,11 @@ Title: "*errors.fundamental: new-style (×\n×) :: ×\n× ::" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -3720,7 +6516,7 @@ outerthree: innerone | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3759,11 +6555,11 @@ Error types: (1) *fmttests.werrNoFmt (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -3792,28 +6588,55 @@ Error types: (1) *fmttests.werrNoFmt (2) *errors.fundamental ===== Sentry reporting ===== == Message payload -:: × -×: × +:: ×: × +(1) × +× +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrNoFmt (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrNoFmt == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3823,11 +6646,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -3880,7 +6703,7 @@ link /path/to/file /path/to/newfile: innerone (1) link /path/to/file /path/to/newfile Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3919,9 +6742,9 @@ link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› (1) link ‹/path/to/file› ‹/path/to/newfile› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -3951,26 +6774,53 @@ Error types: (1) *os.LinkError (2) *errors.fundamental ===== == Message payload :: link × ×: × +(1) link × × +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +Error types: (1) *os.LinkError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *os.LinkError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: link × ×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: link × ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3980,11 +6830,11 @@ Title: "*errors.fundamental: link × ×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -4039,7 +6889,7 @@ send tcp unixhello: innerone (1) send tcp unixhello Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4078,9 +6928,9 @@ send tcp ‹unixhello›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() send tcp ‹unixhello›: ‹innerone› (1) send tcp ‹unixhello› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -4110,26 +6960,53 @@ Error types: (1) *net.OpError (2) *errors.fundamental ===== == Message payload :: send tcp ×: × +(1) send tcp × +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +Error types: (1) *net.OpError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *net.OpError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: send tcp ×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: send tcp ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4139,11 +7016,11 @@ Title: "*errors.fundamental: send tcp ×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -4194,7 +7071,7 @@ link /path/to/file: innerone (1) link /path/to/file Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4233,9 +7110,9 @@ link ‹/path/to/file›: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() link ‹/path/to/file›: ‹innerone› (1) link ‹/path/to/file› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -4265,26 +7142,53 @@ Error types: (1) *fs.PathError (2) *errors.fundamental ===== == Message payload :: link ×: × +(1) link × +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fs.PathError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *fs.PathError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: link ×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: link ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4294,11 +7198,11 @@ Title: "*errors.fundamental: link ×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -4347,7 +7251,7 @@ open: innerone (1) open Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4386,9 +7290,9 @@ open: ‹innerone› == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() open: ‹innerone› (1) open -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -4418,26 +7322,53 @@ Error types: (1) *os.SyscallError (2) *errors.fundamental ===== == Message payload :: open: × +(1) open +Wraps: (2) × +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *os.SyscallError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *os.SyscallError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: open: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: open: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4447,11 +7378,11 @@ Title: "*errors.fundamental: open: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -4495,7 +7426,7 @@ innertwo == %+v innerone innertwo -github.com/cockroachdb/errors/fmttests.glob..func9 +github.com/cockroachdb/errors/fmttests.init.func9 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -4538,7 +7469,7 @@ outerthree: innerone | outerfour Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4577,11 +7508,11 @@ Error types: (1) *errors.withMessage (2) *errors.fundamental == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() ‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -4610,28 +7541,55 @@ Error types: (1) *errors.withMessage (2) *errors.fundamental ===== Sentry reporting ===== == Message payload -:: × -×: × +:: ×: × +(1) × +× +Wraps: (2) × +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *errors.withMessage (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) *errors.withMessage == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4641,11 +7599,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -4684,7 +7642,7 @@ innertwo == %+v innerone innertwo -github.com/cockroachdb/errors/fmttests.glob..func9 +github.com/cockroachdb/errors/fmttests.init.func9 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -4708,7 +7666,7 @@ testing.tRunner : runtime.goexit : -github.com/cockroachdb/errors/fmttests.glob..func26 +github.com/cockroachdb/errors/fmttests.init.func30 : github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 : @@ -4747,12 +7705,12 @@ runtime.goexit innerone (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | [...repeated from below...] Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4792,12 +7750,12 @@ Error types: (1) *errors.withStack (2) *errors.fundamental ‹innerone› (1) -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | [...repeated from below...] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -4827,8 +7785,39 @@ Error types: (1) *errors.withStack (2) *errors.fundamental ===== == Message payload :: × +(1) + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | [...repeated from below...] +Wraps: (2) × +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *errors.withStack (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) :: *errors.withStack (1) (check the extra data payloads) @@ -4836,18 +7825,18 @@ Error types: (1) *errors.withStack (2) *errors.fundamental github.com/pkg/errors/*errors.fundamental (*::) github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(1) : (func26)" +Type: "(1) : ...funcNN... Title: "*errors.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4857,24 +7846,24 @@ Title: "*errors.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func26() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4884,11 +7873,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -4928,7 +7917,7 @@ innerone | × Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4973,9 +7962,9 @@ Error types: (1) *safedetails.withSafeDetails (2) *errors.fundamental ‹innerone› (1) safe × | × -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -5005,30 +7994,234 @@ Error types: (1) *safedetails.withSafeDetails (2) *errors.fundamental ===== == Message payload :: × +(1) safe × + | × +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *safedetails.withSafeDetails (2) *errors.fundamental +-- report composition: +:: *errors.fundamental (top exception) +*safedetails.withSafeDetails: safe × +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +safefmt outerthree outerfour + +require (?s)outerthree.*outerfour.* +---- +&fmttests.werrSafeFormat{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + msg: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.werrSafeFormat{ + cause: &errors.fundamental{ + msg: "innerone\ninnertwo", + stack: &stack{...}, + }, + msg: "outerthree\nouterfour", +} +== Error() +safe outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +safe outerthree: innerone +(1) safe outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.werrSafeFormat (2) *errors.fundamental +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +safe ‹outerthree› +‹outerfour›: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +safe ‹outerthree›: ‹innerone› +(1) safe ‹outerthree› + | ‹outerfour› +Wraps: (2) ‹innerone› +‹ | innertwo› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective.func1› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirective› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runDirectiveOrSubTest› +‹ | :› +‹ | github.com/cockroachdb/datadriven.runTestInternal› +‹ | :› +‹ | github.com/cockroachdb/datadriven.RunTest› +‹ | :› +‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk› +‹ | :› +‹ | github.com/cockroachdb/datadriven.Walk.func1› +‹ | :› +‹ | testing.tRunner› +‹ | :› +‹ | runtime.goexit› +‹ | :› +Error types: (1) *fmttests.werrSafeFormat (2) *errors.fundamental +===== +===== Sentry reporting +===== +== Message payload +:: safe ×: × +(1) safe × + | × +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *fmttests.werrSafeFormat (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: safe ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5038,11 +8231,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -5050,7 +8243,6 @@ secondary outerthree outerfour require (?s) ---- ----- &secondary.withSecondaryError{ cause: &errors.fundamental{ msg: "innerone\ninnertwo", @@ -5089,7 +8281,7 @@ innerone | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -5118,7 +8310,7 @@ innerone | Error types: (1) *withstack.withStack (2) *errutil.leafError Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5165,7 +8357,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.fundamental | outerthree | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -5192,9 +8384,9 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.fundamental | Wraps: (2) outerthree | | outerfour | Error types: (1) *withstack.withStack (2) *errutil.leafError -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -5224,57 +8416,83 @@ Error types: (1) *secondary.withSecondaryError (2) *errors.fundamental ===== == Message payload :: × +(1) secondary error attachment + | outerthree + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +Error types: (1) *secondary.withSecondaryError (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5284,13 +8502,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -5328,12 +8544,12 @@ innertwo innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | [...repeated from below...] Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5378,12 +8594,12 @@ Error types: (1) *withstack.withStack (2) *errors.fundamental ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | [...repeated from below...] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -5413,8 +8629,39 @@ Error types: (1) *withstack.withStack (2) *errors.fundamental ===== == Message payload :: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | [...repeated from below...] +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +Error types: (1) *withstack.withStack (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) :: *withstack.withStack (1) (check the extra data payloads) @@ -5422,18 +8669,18 @@ Error types: (1) *withstack.withStack (2) *errors.fundamental github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(1) : (func37)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5443,24 +8690,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5470,11 +8717,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -5569,7 +8816,7 @@ innerone (1) tags: [k123,safe=456] Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5613,9 +8860,9 @@ Error types: (1) *contexttags.withContext (2) *errors.fundamental == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› (1) tags: [k‹123›,safe=456] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -5645,30 +8892,53 @@ Error types: (1) *contexttags.withContext (2) *errors.fundamental ===== == Message payload :: × +(1) tags: [k×,safe=456] +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× +× × --- +Error types: (1) *contexttags.withContext (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5678,11 +8948,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -5722,7 +8992,7 @@ innerone | outerfour] Wraps: (2) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5767,9 +9037,9 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errors.fundamental ‹innerone› (1) keys: [somekey outerthree | outerfour] -Wraps: (2) ‹innerone›‹› +Wraps: (2) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -5799,31 +9069,54 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errors.fundamental ===== == Message payload :: × +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *telemetrykeys.withTelemetry (2) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5833,11 +9126,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -5882,14 +9175,14 @@ innertwo new-stylew outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | [...repeated from below...] Wraps: (2) new-stylew outerthree | outerfour Wraps: (3) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5935,14 +9228,14 @@ new-stylew ‹outerthree› new-stylew ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | [...repeated from below...] Wraps: (2) new-stylew ‹outerthree› | ‹outerfour› -Wraps: (3) ‹innerone›‹› +Wraps: (3) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -5971,34 +9264,63 @@ Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *errors.fundam ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × +:: new-stylew ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | [...repeated from below...] +Wraps: (2) new-stylew × + | × +Wraps: (3) × +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*errutil.withPrefix: new-stylew × (1) -:: *withstack.withStack (2) +*errutil.withPrefix: new-stylew × +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(2) : (func40)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6008,24 +9330,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: new-stylew ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: new-stylew ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6035,11 +9357,11 @@ Title: "*errors.fundamental: new-stylew ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -6047,7 +9369,6 @@ wrapf-attached outerthree outerfour require (?s)outerthree.*outerfour.* ---- ----- &withstack.withStack{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -6097,14 +9418,14 @@ innertwo new-style outerthree: innerone (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | [...repeated from below...] Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6134,7 +9455,7 @@ Wraps: (3) new-style outerthree | outerfour (payload) Wraps: (4) innerone | innertwo - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6180,14 +9501,14 @@ new-style ‹outerthree› new-style ‹outerthree›: ‹innerone› (1) attached stack trace -- stack trace: - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | [...repeated from below...] Wraps: (2) secondary error attachment | payload | (1) attached stack trace | -- stack trace: - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6215,9 +9536,9 @@ Wraps: (2) secondary error attachment | Error types: (1) *withstack.withStack (2) *errutil.leafError Wraps: (3) new-style ‹outerthree› | ‹outerfour› (payload) -Wraps: (4) ‹innerone›‹› +Wraps: (4) ‹innerone› ‹ | innertwo› -‹ | github.com/cockroachdb/errors/fmttests.glob..func9› +‹ | github.com/cockroachdb/errors/fmttests.init.func9› ‹ | :› ‹ | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1› ‹ | :› @@ -6246,65 +9567,95 @@ Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *err ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × +:: new-style ×: × +(1) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | [...repeated from below...] +Wraps: (2) secondary error attachment + | payload + | (1) attached stack trace + | -- stack trace: + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *withstack.withStack (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × +× +× +× +× +× +× +× +× +× +× +× +× × --- +× +× +× +× +× +× +× +× +× +× +× +× +Error types: (1) *withstack.withStack (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errors.fundamental +-- report composition: :: *errors.fundamental (top exception) -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) -:: *withstack.withStack (3) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(3) : (func51)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6314,24 +9665,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: new-style ×\n× (payload): ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: new-style ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6341,10 +9692,8 @@ Title: "*errors.fundamental: new-style ×\n× (payload): ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/fmttests/testdata/format/wrap-pkgerr-via-network b/fmttests/testdata/format/wrap-pkgerr-via-network index 0d6371b..07eff34 100644 --- a/fmttests/testdata/format/wrap-pkgerr-via-network +++ b/fmttests/testdata/format/wrap-pkgerr-via-network @@ -5,17 +5,16 @@ opaque require (?s)innerone.*innertwo ---- ----- &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -24,9 +23,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -35,14 +35,14 @@ require (?s)innerone.*innertwo == %#v &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -51,9 +51,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func41\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func49\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -72,7 +73,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -107,7 +108,7 @@ Wraps: (3) innerone | | type name: github.com/pkg/errors/*errors.fundamental | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -132,7 +133,7 @@ Wraps: (3) innerone | | runtime.goexit | | : | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -157,7 +158,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func41 + | github.com/cockroachdb/errors/fmttests.init.func49 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -192,7 +193,7 @@ Wraps: (3) ‹innerone› | | type name: github.com/pkg/errors/*errors.fundamental | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -217,62 +218,100 @@ Wraps: (3) ‹innerone› | | runtime.goexit | | : | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload :: × -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func49 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func41)" -Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -282,13 +321,11 @@ Title: "*barriers.barrierError: ×\n×\nvia *withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func41() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -297,18 +334,17 @@ opaque require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -319,9 +355,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -331,14 +368,14 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo &assert.withAssertionFailure{ cause: &errbase.opaqueWrapper{ cause: &errutil.withPrefix{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -349,9 +386,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -371,7 +409,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -408,7 +446,7 @@ Wraps: (4) innerone | | type name: github.com/pkg/errors/*errors.fundamental | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -433,7 +471,7 @@ Wraps: (4) innerone | | runtime.goexit | | : | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -459,7 +497,7 @@ Wraps: (2) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func42 + | github.com/cockroachdb/errors/fmttests.init.func50 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -496,7 +534,7 @@ Wraps: (4) ‹innerone› | | type name: github.com/pkg/errors/*errors.fundamental | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -521,68 +559,104 @@ Wraps: (4) ‹innerone› | | runtime.goexit | | : | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierError +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload -:: assertmsg: × -×: × -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) -*errutil.withPrefix: assertmsg: × (2) +:: assertmsg: ×: × +(1) assertion failure +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func50 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) assertmsg: × + | × +Wraps: (4) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *assert.withAssertionFailure (2) *errbase.opaqueWrapper (3) *errutil.withPrefix (4) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: +*errutil.withPrefix: assertmsg: × :: *withstack.withStack (top exception) *assert.withAssertionFailure -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -== Extra "2: details" -assertmsg: × - × == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) github.com/cockroachdb/errors/assert/*assert.withAssertionFailure (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func42)" -Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withStack" +Type: ": ...funcNN... +Title: "*barriers.barrierErr: assertmsg: ×: ×\nvia *withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -592,13 +666,11 @@ Title: "*barriers.barrierError: assertmsg: ×\n×: ×\n×\nvia *withstack.withSt :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func42() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -607,15 +679,14 @@ opaque require (?s)innerone.*innertwo ---- ----- -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -624,14 +695,14 @@ require (?s)innerone.*innertwo ===== non-redactable formats ===== == %#v -&barriers.barrierError{ - msg: "innerone\ninnertwo", +&barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", maskedErr: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -657,7 +728,7 @@ innerone | | type name: github.com/pkg/errors/*errors.fundamental | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -682,7 +753,7 @@ innerone | | runtime.goexit | | : | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -712,7 +783,7 @@ Error types: (1) *barriers.barrierError | | type name: github.com/pkg/errors/*errors.fundamental | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 + | | github.com/cockroachdb/errors/fmttests.init.func9 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -737,51 +808,57 @@ Error types: (1) *barriers.barrierError | | runtime.goexit | | : | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *barriers.barrierError +Error types: (1) *barriers.barrierErr ===== ===== Sentry reporting ===== == Message payload × -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : +(1) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: == Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) == Exception 1 (Module: "error domain: ") -Type: "*barriers.barrierError" -Title: "×\n×" +Type: "*barriers.barrierErr" +Title: "×" (NO STACKTRACE) ----- ----- run pkgerr innerone innertwo @@ -796,7 +873,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -807,6 +884,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -818,7 +896,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -829,6 +907,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -853,7 +932,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -909,7 +988,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -938,28 +1017,63 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -:: × -×: × -× --- +:: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrDelegate == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegate (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -969,11 +1083,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -988,7 +1102,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -999,6 +1113,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1010,7 +1125,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1021,6 +1136,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -1042,7 +1158,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1095,7 +1211,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1125,26 +1241,60 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrDelegateEmpty == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1154,11 +1304,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1173,7 +1323,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1184,6 +1334,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1195,7 +1346,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1206,6 +1357,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -1227,7 +1379,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1280,7 +1432,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1310,26 +1462,60 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- -:: *errors.fundamental (top exception) -*fmttests.werrDelegateNoPrefix -== Extra "error types" -github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) -== Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.werrDelegateNoPrefix +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrDelegateNoPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1339,11 +1525,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1358,7 +1544,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1374,7 +1560,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1399,7 +1585,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1451,7 +1637,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1481,26 +1667,59 @@ Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueLeaf ===== == Message payload :: × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *hintdetail.withDetail (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *hintdetail.withDetail == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/hintdetail/*hintdetail.withDetail (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1510,11 +1729,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1529,7 +1748,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1545,7 +1764,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1569,7 +1788,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1620,7 +1839,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1650,29 +1869,58 @@ Error types: (1) *domains.withDomain (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) mydomain +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *domains.withDomain (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*domains.withDomain: mydomain (1) -(check the extra data payloads) -== Extra "1: details" -mydomain +*domains.withDomain: mydomain == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/domains/*domains.withDomain (*::mydomain) == Exception 1 (Module: "mydomain") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1682,11 +1930,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1701,7 +1949,7 @@ require (?s)outerthree.*outerfour details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1717,7 +1965,7 @@ require (?s)outerthree.*outerfour details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1742,7 +1990,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1785,7 +2033,7 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹outerthree› -(1) ‹outerthree›‹› +(1) ‹outerthree› ‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› @@ -1794,7 +2042,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1824,26 +2072,59 @@ Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf ===== == Message payload :: × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.werrWithElidedCause (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrWithElidedCause == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrWithElidedCause (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -1853,11 +2134,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -1872,7 +2153,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1883,6 +2164,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -1894,7 +2176,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -1905,6 +2187,7 @@ require (?s)innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -1926,7 +2209,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -1979,7 +2262,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2009,26 +2292,60 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrEmpty == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrEmpty (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2038,11 +2355,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -2057,7 +2374,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2068,6 +2385,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2079,7 +2397,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2090,6 +2408,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2114,7 +2433,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2170,7 +2489,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2199,28 +2518,63 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -:: × -×: × -× --- +:: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrFmt == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmt (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2230,11 +2584,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -2252,7 +2606,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2263,6 +2617,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2274,7 +2629,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2285,6 +2640,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2309,7 +2665,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2365,7 +2721,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2394,28 +2750,63 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -:: × -×: × -× --- +:: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrFmto == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmto (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2425,11 +2816,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -2447,7 +2838,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2458,6 +2849,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2469,7 +2861,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2480,6 +2872,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2504,7 +2897,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2560,7 +2953,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2589,28 +2982,63 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -:: × -×: × -× --- -:: *errors.fundamental (top exception) -*fmttests.werrFmtoDelegate -== Extra "error types" -github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) +:: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.werrFmtoDelegate +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtoDelegate (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2620,11 +3048,11 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -2639,7 +3067,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2650,6 +3078,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -2661,7 +3090,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -2672,6 +3101,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() outerthree @@ -2696,7 +3126,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2752,7 +3182,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2781,28 +3211,63 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -:: × -×: × -× --- +:: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmttests.werrFmtp == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/fmttests/*fmttests.werrFmtp (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -2812,15 +3277,15 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -goerr outerthree outerfour +go-errorf outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -2834,17 +3299,18 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } ===== ===== non-redactable formats @@ -2856,21 +3322,22 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "outerthree\nouterfour - innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "fmt/*fmt.wrapError", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 1, } == Error() outerthree -outerfour: innerone +outerfour - innerone innertwo == %v = Error(), good == %s = Error(), good @@ -2878,9 +3345,10 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone +outerthree (1) outerthree - | outerfour + | outerfour - innerone + | innertwo | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -2891,7 +3359,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2926,7 +3394,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == printed via redact Print(), ok - congruent with %v ‹outerthree› -‹outerfour›: ‹innerone› +‹outerfour - innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -2934,9 +3402,10 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹outerthree›: ‹innerone› +‹outerthree› (1) ‹outerthree› - | ‹outerfour› + | ‹outerfour - innerone› + | ‹innertwo› | | (opaque error wrapper) | type name: fmt/*fmt.wrapError @@ -2947,7 +3416,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -2977,27 +3446,63 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== == Message payload :: × -×: × -× --- +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) *fmt.wrapError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3007,262 +3512,143 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -handled-domain outerthree outerfour +go-errorf-multi outerthree outerfour opaque -require (?s)innerone.*innertwo ----- +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errbase.opaqueLeaf{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, }, - domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&domains.withDomain{ - cause: &barriers.barrierError{ - msg: "innerone\ninnertwo", - maskedErr: &errbase.opaqueLeaf{ +&errbase.opaqueLeafCauses{ + opaqueLeaf: errbase.opaqueLeaf{ + msg: "outerthree\nouterfour - innerone\ninnertwo sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapErrors", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapErrors", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + }, + causes: { + &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueLeaf{ + msg: "sibling error in wrapper", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func23\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, }, - domain: "error domain: pkg ", } == Error() -innerone -innertwo +outerthree +outerfour - innerone +innertwo sibling error in wrapper == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) error domain: pkg -Wraps: (2) innerone - | innertwo - | -- cause hidden behind barrier - | innerone - | (1) innerone - | | innertwo - | | - | | (opaque error leaf) - | | type name: github.com/pkg/errors/*errors.fundamental - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *domains.withDomain (2) *barriers.barrierError -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good -===== -===== redactable formats -===== -== printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) error domain: pkg -Wraps: (2) ‹innerone› - | ‹innertwo› - | -- cause hidden behind barrier - | ‹innerone› - | (1) ‹innerone› - | | ‹innertwo› - | | - | | (opaque error leaf) - | | type name: github.com/pkg/errors/*errors.fundamental - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Error types: (1) *errbase.opaqueLeaf -Error types: (1) *domains.withDomain (2) *barriers.barrierError -===== -===== Sentry reporting -===== -== Message payload -× -× --- -*barriers.barrierError: details for github.com/pkg/errors/*errors.fundamental::: (1) -*domains.withDomain: error domain: pkg (2) -(check the extra data payloads) -== Extra "1: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -== Extra "2: details" -error domain: pkg -== Extra "error types" -github.com/cockroachdb/errors/barriers/*barriers.barrierError (*::) -github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) -== Exception 1 (Module: "error domain: pkg ") -Type: "*barriers.barrierError" -Title: "×\n×" -(NO STACKTRACE) ----- ----- - -run -pkgerr innerone innertwo -hint outerthree outerfour -opaque - -require (?s)innerone.*innertwo ----- -&hintdetail.withHint{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - hint: "outerthree\nouterfour", -} -===== -===== non-redactable formats -===== -== %#v -&hintdetail.withHint{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - hint: "outerthree\nouterfour", -} -== Error() -innerone -innertwo -== %v = Error(), good -== %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v -innerone -(1) outerthree - | outerfour -Wraps: (2) innerone +outerthree +(1) outerthree + | outerfour - innerone + | innertwo sibling error in wrapper + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) sibling error in wrapper + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) innerone | innertwo | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3286,7 +3672,7 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3296,25 +3682,60 @@ Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› +‹outerthree› +‹outerfour - innerone› +‹innertwo sibling error in wrapper› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› +‹outerthree› (1) ‹outerthree› -‹ | outerfour› -Wraps: (2) ‹innerone› + | ‹outerfour - innerone› + | ‹innertwo sibling error in wrapper› + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) ‹sibling error in wrapper› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3338,32 +3759,129 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -:: × × --- +(1) × + | × + | × + | + | (opaque error leaf) + | type name: fmt/*fmt.wrapErrors +Wraps: (2) × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func23 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueLeafCauses (2) *errbase.opaqueLeaf (3) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*hintdetail.withHint +:: *errors.fundamental (1) +*fmt.wrapErrors +(check the extra data payloads) == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +github.com/pkg/errors/*errors.fundamental (*::) +fmt/*fmt.wrapErrors (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: "(1) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3373,50 +3891,68 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -issuelink outerthree outerfour +go-errorf-suffix outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo.*outerthree.*outerfour ---- -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } ===== ===== non-redactable formats ===== == %#v -&issuelink.withIssueLink{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, + prefix: "innerone\ninnertwo - outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 1, } == Error() innerone -innertwo +innertwo - outerthree +outerfour == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good @@ -3424,9 +3960,12 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) issue: https://mysite - | detail: outerthree +(1) innerone + | innertwo - outerthree | outerfour + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo | @@ -3434,7 +3973,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3458,7 +3997,7 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3469,7 +4008,8 @@ Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf ===== == printed via redact Print(), ok - congruent with %v ‹innerone› -‹innertwo› +‹innertwo - outerthree› +‹outerfour› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good @@ -3477,17 +4017,20 @@ Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) issue: https://mysite - | detail: outerthree - | outerfour -Wraps: (2) ‹innerone› +(1) ‹innerone› + | ‹innertwo - outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) ‹innerone› | ‹innertwo› | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3511,37 +4054,69 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload :: × -× --- +(1) × + | × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*issuelink.withIssueLink: https://mysite (1) -(check the extra data payloads) -== Extra "1: details" -https://mysite -outerthree - outerfour +*fmt.wrapError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3551,18 +4126,21 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -migrated outerthree outerfour +goerr outerthree outerfour opaque -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- &errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ @@ -3570,17 +4148,18 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -3592,20 +4171,22 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + OriginalTypeName: "fmt/*fmt.wrapError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"fmt/*fmt.wrapError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -innerone +outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3613,10 +4194,12 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) +outerthree: innerone +(1) outerthree + | outerfour + | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated + | type name: fmt/*fmt.wrapError Wraps: (2) innerone | innertwo | @@ -3624,7 +4207,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3658,7 +4241,8 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3666,10 +4250,12 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) +‹outerthree›: ‹innerone› +(1) ‹outerthree› + | ‹outerfour› + | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated + | type name: fmt/*fmt.wrapError Wraps: (2) ‹innerone› | ‹innertwo› | @@ -3677,7 +4263,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -3706,27 +4292,63 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -:: × -× --- +:: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: fmt/*fmt.wrapError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*fmttests.werrMigrated +*fmt.wrapError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +fmt/*fmt.wrapError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3736,50 +4358,55 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -msg outerthree outerfour +handled-domain outerthree outerfour opaque -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- -&errutil.withPrefix{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, }, }, - prefix: "outerthree\nouterfour", + domain: "error domain: pkg ", } ===== ===== non-redactable formats ===== == %#v -&errutil.withPrefix{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), +&domains.withDomain{ + cause: &barriers.barrierErr{ + smsg: "‹innerone›\n‹innertwo›", + maskedErr: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, }, }, - prefix: "outerthree\nouterfour", + domain: "error domain: pkg ", } == Error() -outerthree -outerfour: innerone +innerone innertwo == %v = Error(), good == %s = Error(), good @@ -3787,41 +4414,45 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone -(1) outerthree - | outerfour +innerone +(1) error domain: pkg Wraps: (2) innerone | innertwo - | - | (opaque error leaf) - | type name: github.com/pkg/errors/*errors.fundamental - | reportable 0: - | - | github.com/cockroachdb/errors/fmttests.glob..func9 - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | : - | github.com/cockroachdb/datadriven.runDirective.func1 - | : - | github.com/cockroachdb/datadriven.runDirective - | : - | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | : - | github.com/cockroachdb/datadriven.runTestInternal - | : - | github.com/cockroachdb/datadriven.RunTest - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | : - | github.com/cockroachdb/datadriven.Walk - | : - | github.com/cockroachdb/datadriven.Walk.func1 - | : - | testing.tRunner - | : - | runtime.goexit - | : -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf + | -- cause hidden behind barrier + | innerone + | (1) innerone + | | innertwo + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -3831,8 +4462,7 @@ Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -outerthree -outerfour: ‹innerone› +‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -3840,21 +4470,3513 @@ outerfour: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -outerthree: ‹innerone› -(1) outerthree - | outerfour +‹innerone› +(1) error domain: pkg Wraps: (2) ‹innerone› | ‹innertwo› - | - | (opaque error leaf) - | type name: github.com/pkg/errors/*errors.fundamental - | reportable 0: - | - | github.com/cockroachdb/errors/fmttests.glob..func9 - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | : - | github.com/cockroachdb/datadriven.runDirective.func1 + | -- cause hidden behind barrier + | ‹innerone› + | (1) ‹innerone› + | | ‹innertwo› + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +===== +===== Sentry reporting +===== +== Message payload +× +(1) error domain: pkg +Wraps: (2) × + | × + | -- cause hidden behind barrier + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Error types: (1) *domains.withDomain (2) *barriers.barrierErr +-- report composition: +*barriers.barrierErr: details for github.com/pkg/errors/*errors.fundamental::: +*domains.withDomain: error domain: pkg +== Extra "error types" +github.com/cockroachdb/errors/barriers/*barriers.barrierErr (*::) +github.com/cockroachdb/errors/domains/*domains.withDomain (*::error domain: pkg ) +== Exception 1 (Module: "error domain: pkg ") +Type: "*barriers.barrierErr" +Title: "×" +(NO STACKTRACE) + +run +pkgerr innerone innertwo +hint outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&hintdetail.withHint{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + hint: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&hintdetail.withHint{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + hint: "outerthree\nouterfour", +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹outerthree› +‹ | outerfour› +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: × +(1) × +× +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *hintdetail.withHint (2) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*hintdetail.withHint +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/hintdetail/*hintdetail.withHint (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +issuelink outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&issuelink.withIssueLink{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +===== +===== non-redactable formats +===== +== %#v +&issuelink.withIssueLink{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + IssueLink: issuelink.IssueLink{IssueURL:"https://mysite", Detail:"outerthree\nouterfour"}, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: × +(1) issue: https://mysite + | detail: outerthree + | outerfour +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *issuelink.withIssueLink (2) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*issuelink.withIssueLink: https://mysite +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/issuelink/*issuelink.withIssueLink (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +join outerthree outerfour +opaque + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo +---- +&join.joinError{ + errs: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&join.joinError{ + errs: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func63\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, +} +== Error() +innerone +innertwo +outerthree +outerfour +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) innerone + | innertwo + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +outerthree +outerfour +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) ‹innerone› + | ‹innertwo› + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +× +(1) × + | × + | outerthree + | outerfour +Wraps: (2) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func63 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +└─ Wraps: (3) outerthree + | outerfour +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *join.joinError (2) *errbase.opaqueWrapper (3) *errutil.leafError (4) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: outerthree +:: *withstack.withStack (top exception) +:: *errors.fundamental (1) +*join.joinError +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/join/*join.joinError (*::) +== Exception 1 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +migrated outerthree outerfour +opaque + +require (?s)innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"some/previous/path/prevpkg.prevType", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.werrMigrated +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrMigrated (some/previous/path/prevpkg.prevType::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +msg outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errutil.withPrefix{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "outerthree\nouterfour", +} +===== +===== non-redactable formats +===== +== %#v +&errutil.withPrefix{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "outerthree\nouterfour", +} +== Error() +outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +outerthree: innerone +(1) outerthree + | outerfour +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +outerthree: ‹innerone› +(1) outerthree + | outerfour +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: outerthree: × +(1) outerthree + | outerfour +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*errutil.withPrefix: outerthree +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: outerthree: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +multi-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"included 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func42\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: false, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: included 2: included 1: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: included 2: included 1: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: included 2: included 1: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +×: ×: included 2: included 1: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) included 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) included 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func42 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: included 2 +:: *withstack.withStack (top exception) +*errutil.leafError: included 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +:: *errors.fundamental (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: included 2: included 1: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +multi-elided-cause outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +===== +===== non-redactable formats +===== +== %#v +&fmttests.errMultiCause{ + causes: { + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"outerthree\nouterfour"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "C", + elide: false, + }, + &fmttests.errMultiCause{ + causes: { + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 1"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + &errbase.opaqueWrapper{ + cause: &errutil.leafError{msg:"elided 2"}, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func43\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, + }, + }, + msg: "B", + elide: true, + }, + }, + msg: "A", + elide: false, +} +== Error() +A: B: C: outerthree +outerfour: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +A: B: C: outerthree: innerone +(1) A +Wraps: (2) B +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) C +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹A›: ‹B›: ‹C›: outerthree +outerfour: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹A›: ‹B›: ‹C›: outerthree: ‹innerone› +(1) ‹A› +Wraps: (2) ‹B› +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) ‹C› +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +×: ×: ×: outerthree: × +(1) × +Wraps: (2) × +└─ Wraps: (3) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (4) elided 2 +└─ Wraps: (5) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (6) elided 1 +Wraps: (7) × +└─ Wraps: (8) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func43 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : + └─ Wraps: (9) outerthree + | outerfour +└─ Wraps: (10) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *fmttests.errMultiCause (2) *fmttests.errMultiCause (3) *errbase.opaqueWrapper (4) *errutil.leafError (5) *errbase.opaqueWrapper (6) *errutil.leafError (7) *fmttests.errMultiCause (8) *errbase.opaqueWrapper (9) *errutil.leafError (10) *errbase.opaqueLeaf +-- report composition: +*errutil.leafError: elided 2 +:: *withstack.withStack (top exception) +*errutil.leafError: elided 1 +:: *withstack.withStack (1) +*fmttests.errMultiCause +*errutil.leafError: outerthree +:: *withstack.withStack (2) +:: *errors.fundamental (3) +*fmttests.errMultiCause +*fmttests.errMultiCause +(check the extra data payloads) +== Extra "error types" +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/errutil/*errutil.leafError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.errMultiCause (*::) +== Exception 1 (Module: "error domain: ") +Type: "(3) : ...funcNN... +Title: "*errors.fundamental" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: "(2) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 3 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 4 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errutil.leafError: ×: ×: ×: outerthree: ×\nvia *withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +newfw outerthree outerfour +opaque + +require (?s)outerthree.*outerfour.*innerone.*innertwo +---- +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func46\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +new-style (outerthree +outerfour) :: innerone +innertwo :: +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +new-style (outerthree +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (outerthree + | outerfour) :: innerone + | innertwo :: +Wraps: (4) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +new-style (‹outerthree› +‹outerfour›) :: ‹innerone› +‹innertwo› :: +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +new-style (‹outerthree› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | | ‹innertwo› + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (‹outerthree› + | ‹outerfour›) :: ‹innerone› + | ‹innertwo› :: +Wraps: (4) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: new-style (× +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func46 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) new-style (× + | ×) :: × + | × :: +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*errutil.withNewMessage: new-style (× +*secondary.withSecondaryError: details for github.com/pkg/errors/*errors.fundamental::: +:: *withstack.withStack (1) +(check the extra data payloads) +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +== Exception 1 (Module: "error domain: ") +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: new-style (×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +newfw-suffix outerthree outerfour +opaque + +require (?s)innerone.*innertwo.*outerthree.*outerfour +---- +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +===== +===== non-redactable formats +===== +== %#v +&errbase.opaqueWrapper{ + cause: &secondary.withSecondaryError{ + cause: &errutil.withNewMessage{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + message: ":: ‹innerone›\n‹innertwo› :: new-style (‹outerthree›\n‹outerfour›)", + }, + secondaryError: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func47\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} +== Error() +:: innerone +innertwo :: new-style (outerthree +outerfour) +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v +:: innerone +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | innerone + | (1) innerone + | | innertwo + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) :: innerone + | innertwo :: new-style (outerthree + | outerfour) +Wraps: (4) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +:: ‹innerone› +‹innertwo› :: new-style (‹outerthree› +‹outerfour›) +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +:: ‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | ‹innerone› + | (1) ‹innerone› + | | ‹innertwo› + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) :: ‹innerone› + | ‹innertwo› :: new-style (‹outerthree› + | ‹outerfour›) +Wraps: (4) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: :: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func47 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | × + | (1) × + | | × + | | + | | (opaque error leaf) + | | type name: github.com/pkg/errors/*errors.fundamental + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func9 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Error types: (1) *errbase.opaqueLeaf +Wraps: (3) :: × + | × :: new-style (× + | ×) +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 | : | github.com/cockroachdb/datadriven.runDirective | : @@ -3874,37 +7996,58 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *errutil.withPrefix (2) *errbase.opaqueLeaf -===== -===== Sentry reporting -===== -== Message payload -:: outerthree -outerfour: × -× --- +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*errutil.withPrefix: outerthree (1) +*errutil.withNewMessage: :: × +*secondary.withSecondaryError: details for github.com/pkg/errors/*errors.fundamental::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -outerthree - outerfour == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) +github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) +github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) +github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: outerthree\nouterfour: ×\n×" +Type: "(1) : ...funcNN... +Title: "*withstack.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: :: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -3914,105 +8057,186 @@ Title: "*errors.fundamental: outerthree\nouterfour: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -newfw outerthree outerfour +nofmt outerthree outerfour opaque +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &errbase.opaqueWrapper{ - cause: &secondary.withSecondaryError{ - cause: &errutil.withNewMessage{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", - }, - secondaryError: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), }, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v &errbase.opaqueWrapper{ - cause: &secondary.withSecondaryError{ - cause: &errutil.withNewMessage{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - message: "new-style (‹outerthree›\n‹outerfour›) :: ‹innerone›\n‹innertwo› ::", - }, - secondaryError: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), }, }, - prefix: "", + prefix: "outerthree\nouterfour", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func39\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -new-style (outerthree -outerfour) :: innerone -innertwo :: +outerthree +outerfour: innerone +innertwo == %v = Error(), good == %s = Error(), good == %q = quoted Error(), good == %x = hex Error(), good == %X = HEX Error(), good == %+v -new-style (outerthree -(1) +outerthree: innerone +(1) outerthree + | outerfour + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹outerthree› +‹outerfour›: ‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹outerthree›: ‹innerone› +(1) ‹outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: ×: × +(1) × + | × + | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4036,51 +8260,116 @@ new-style (outerthree | : | runtime.goexit | : -Wraps: (2) secondary error attachment - | innerone - | (1) innerone - | | innertwo - | | - | | (opaque error leaf) - | | type name: github.com/pkg/errors/*errors.fundamental - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Error types: (1) *errbase.opaqueLeaf -Wraps: (3) new-style (outerthree - | outerfour) :: innerone - | innertwo :: -Wraps: (4) innerone +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: +:: *errors.fundamental (top exception) +*fmttests.werrNoFmt +== Extra "error types" +github.com/pkg/errors/*errors.fundamental (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) +== Exception 1 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... + +run +pkgerr innerone innertwo +os-link outerthree outerfour +opaque + +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %\#v via Formattable.*IRREGULAR: not same as %\#v + +require (?s)innerone.*innertwo +---- +&os.LinkError{ + Op: "link", + Old: "/path/to/file", + New: "/path/to/newfile", + Err: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, +} +===== +===== non-redactable formats +===== +== %#v +&os.LinkError{Op:"link", Old:"/path/to/file", New:"/path/to/newfile", Err:&errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, +}} +== Error() +link /path/to/file /path/to/newfile: innerone +innertwo +== %v = Error(), good +== %s = Error(), good +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good +== %+v = Error(), ok +== %#v via Formattable() (IRREGULAR: not same as %#v) +&os.LinkError{ + Op: "link", + Old: "/path/to/file", + New: "/path/to/newfile", + Err: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, +} +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() (IRREGULAR: not same as %+v) +link /path/to/file /path/to/newfile: innerone +(1) link /path/to/file /path/to/newfile +Wraps: (2) innerone | innertwo | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4104,32 +8393,29 @@ Wraps: (4) innerone | : | runtime.goexit | : -Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good +Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -new-style (‹outerthree› -‹outerfour›) :: ‹innerone› -‹innertwo› :: +link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› +‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -new-style (‹outerthree› -(1) - | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack +== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() +link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› +(1) link ‹/path/to/file› ‹/path/to/newfile› +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func39 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4153,51 +8439,21 @@ new-style (‹outerthree› | : | runtime.goexit | : -Wraps: (2) secondary error attachment - | ‹innerone› - | (1) ‹innerone› - | | ‹innertwo› - | | - | | (opaque error leaf) - | | type name: github.com/pkg/errors/*errors.fundamental - | | reportable 0: - | | - | | github.com/cockroachdb/errors/fmttests.glob..func9 - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | | : - | | github.com/cockroachdb/datadriven.runDirective.func1 - | | : - | | github.com/cockroachdb/datadriven.runDirective - | | : - | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | | : - | | github.com/cockroachdb/datadriven.runTestInternal - | | : - | | github.com/cockroachdb/datadriven.RunTest - | | : - | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | | : - | | github.com/cockroachdb/datadriven.Walk - | | : - | | github.com/cockroachdb/datadriven.Walk.func1 - | | : - | | testing.tRunner - | | : - | | runtime.goexit - | | : - | Error types: (1) *errbase.opaqueLeaf -Wraps: (3) new-style (‹outerthree› - | ‹outerfour›) :: ‹innerone› - | ‹innertwo› :: -Wraps: (4) ‹innerone› - | ‹innertwo› +Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: link × ×: × +(1) link × × +Wraps: (2) × + | × | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4221,69 +8477,26 @@ Wraps: (4) ‹innerone› | : | runtime.goexit | : -Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withNewMessage (4) *errbase.opaqueLeaf -===== -===== Sentry reporting -===== -== Message payload -:: new-style (× -×) :: × -× :: --- +Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*errutil.withNewMessage: new-style (× (1) -*secondary.withSecondaryError: details for github.com/pkg/errors/*errors.fundamental::: (2) -:: *withstack.withStack (3) -(check the extra data payloads) -== Extra "1: details" -new-style (× - ×) :: × - × :: -== Extra "2: details" -details for github.com/pkg/errors/*errors.fundamental::: - - github.com/cockroachdb/errors/fmttests.glob..func9 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : +*os.LinkError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/errutil/*errutil.withNewMessage (*::) -github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) -github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) +os/*os.LinkError (*::) == Exception 1 (Module: "error domain: ") -Type: "(3) : (func39)" -Title: "*withstack.withStack" +Type: ": ...funcNN... +Title: "*errors.fundamental: link × ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4293,50 +8506,21 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func39() -== Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: new-style (×\n×) :: ×\n× ::" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func9() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -nofmt outerthree outerfour +os-netop outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v accept %\#v via Formattable.*IRREGULAR: not same as %\#v -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- &errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ @@ -4344,17 +8528,18 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "send tcp unixhello", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + OriginalTypeName: "net/*net.OpError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -4366,21 +8551,21 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "outerthree\nouterfour", + prefix: "send tcp unixhello", details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt", Extension:""}, + OriginalTypeName: "net/*net.OpError", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, ReportablePayload: nil, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() -outerthree -outerfour: innerone +send tcp unixhello: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4388,12 +8573,11 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -outerthree: innerone -(1) outerthree - | outerfour +send tcp unixhello: innerone +(1) send tcp unixhello | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt + | type name: net/*net.OpError Wraps: (2) innerone | innertwo | @@ -4401,7 +8585,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4435,8 +8619,7 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹outerthree› -‹outerfour›: ‹innerone› +‹send tcp unixhello›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4444,12 +8627,11 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹outerthree›: ‹innerone› -(1) ‹outerthree› - | ‹outerfour› +‹send tcp unixhello›: ‹innerone› +(1) ‹send tcp unixhello› | | (opaque error wrapper) - | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt + | type name: net/*net.OpError Wraps: (2) ‹innerone› | ‹innertwo› | @@ -4457,7 +8639,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4486,28 +8668,62 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== Sentry reporting ===== == Message payload -:: × -×: × -× --- +:: ×: × +(1) × + | + | (opaque error wrapper) + | type name: net/*net.OpError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*fmttests.werrNoFmt +*net.OpError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/fmttests/*fmttests.werrNoFmt (*::) +net/*net.OpError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4517,15 +8733,15 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -os-link outerthree outerfour +os-path outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -4533,16 +8749,15 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)innerone.*innertwo ---- -&os.LinkError{ - Op: "link", - Old: "/path/to/file", - New: "/path/to/newfile", - Err: &errbase.opaqueLeaf{ +&fs.PathError{ + Op: "link", + Path: "/path/to/file", + Err: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -4551,17 +8766,17 @@ require (?s)innerone.*innertwo ===== non-redactable formats ===== == %#v -&os.LinkError{Op:"link", Old:"/path/to/file", New:"/path/to/newfile", Err:&errbase.opaqueLeaf{ +&fs.PathError{Op:"link", Path:"/path/to/file", Err:&errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }} == Error() -link /path/to/file /path/to/newfile: innerone +link /path/to/file: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4570,16 +8785,15 @@ innertwo == %X = HEX Error(), good == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) -&os.LinkError{ - Op: "link", - Old: "/path/to/file", - New: "/path/to/newfile", - Err: &errbase.opaqueLeaf{ +&fs.PathError{ + Op: "link", + Path: "/path/to/file", + Err: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -4588,8 +8802,8 @@ innertwo == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -link /path/to/file /path/to/newfile: innerone -(1) link /path/to/file /path/to/newfile +link /path/to/file: innerone +(1) link /path/to/file Wraps: (2) innerone | innertwo | @@ -4597,7 +8811,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4621,12 +8835,12 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf +Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› +link ‹/path/to/file›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -4634,8 +8848,8 @@ link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -link ‹/path/to/file› ‹/path/to/newfile›: ‹innerone› -(1) link ‹/path/to/file› ‹/path/to/newfile› +link ‹/path/to/file›: ‹innerone› +(1) link ‹/path/to/file› Wraps: (2) ‹innerone› | ‹innertwo› | @@ -4643,143 +8857,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | : - | github.com/cockroachdb/datadriven.runDirective.func1 - | : - | github.com/cockroachdb/datadriven.runDirective - | : - | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | : - | github.com/cockroachdb/datadriven.runTestInternal - | : - | github.com/cockroachdb/datadriven.RunTest - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | : - | github.com/cockroachdb/datadriven.Walk - | : - | github.com/cockroachdb/datadriven.Walk.func1 - | : - | testing.tRunner - | : - | runtime.goexit - | : -Error types: (1) *os.LinkError (2) *errbase.opaqueLeaf -===== -===== Sentry reporting -===== -== Message payload -:: link × ×: × -× --- -:: *errors.fundamental (top exception) -*os.LinkError -== Extra "error types" -github.com/pkg/errors/*errors.fundamental (*::) -os/*os.LinkError (*::) -== Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: link × ×: ×\n×" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func9() - -run -pkgerr innerone innertwo -os-netop outerthree outerfour -opaque - -accept %\+v via Formattable.*IRREGULAR: not same as %\+v -accept %\#v via Formattable.*IRREGULAR: not same as %\#v - -require (?s)innerone.*innertwo ----- -&errbase.opaqueWrapper{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - prefix: "send tcp unixhello", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "net/*net.OpError", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, -} -===== -===== non-redactable formats -===== -== %#v -&errbase.opaqueWrapper{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - prefix: "send tcp unixhello", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "net/*net.OpError", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"net/*net.OpError", Extension:""}, - ReportablePayload: nil, - FullDetails: (*types.Any)(nil), - }, -} -== Error() -send tcp unixhello: innerone -innertwo -== %v = Error(), good -== %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v -send tcp unixhello: innerone -(1) send tcp unixhello - | - | (opaque error wrapper) - | type name: net/*net.OpError -Wraps: (2) innerone - | innertwo - | - | (opaque error leaf) - | type name: github.com/pkg/errors/*errors.fundamental - | reportable 0: - | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4801,39 +8879,23 @@ Wraps: (2) innerone | : | testing.tRunner | : - | runtime.goexit - | : -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good -===== -===== redactable formats -===== -== printed via redact Print(), ok - congruent with %v -‹send tcp unixhello›: ‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹send tcp unixhello›: ‹innerone› -(1) ‹send tcp unixhello› - | - | (opaque error wrapper) - | type name: net/*net.OpError -Wraps: (2) ‹innerone› - | ‹innertwo› + | runtime.goexit + | : +Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: link ×: × +(1) link × +Wraps: (2) × + | × | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4857,32 +8919,26 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf -===== -===== Sentry reporting -===== -== Message payload -:: ×: × -× --- +Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*net.OpError +*fs.PathError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -net/*net.OpError (*::) +io/fs/*fs.PathError (os/*os.PathError::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: link ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -4892,15 +8948,15 @@ Title: "*errors.fundamental: ×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -os-path outerthree outerfour +os-syscall outerthree outerfour opaque accept %\+v via Formattable.*IRREGULAR: not same as %\+v @@ -4908,15 +8964,14 @@ accept %\#v via Formattable.*IRREGULAR: not same as %\#v require (?s)innerone.*innertwo ---- -&fs.PathError{ - Op: "link", - Path: "/path/to/file", - Err: &errbase.opaqueLeaf{ +&os.SyscallError{ + Syscall: "open", + Err: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -4925,17 +8980,17 @@ require (?s)innerone.*innertwo ===== non-redactable formats ===== == %#v -&fs.PathError{Op:"link", Path:"/path/to/file", Err:&errbase.opaqueLeaf{ +&os.SyscallError{Syscall:"open", Err:&errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }} == Error() -link /path/to/file: innerone +open: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -4944,15 +8999,14 @@ innertwo == %X = HEX Error(), good == %+v = Error(), ok == %#v via Formattable() (IRREGULAR: not same as %#v) -&fs.PathError{ - Op: "link", - Path: "/path/to/file", - Err: &errbase.opaqueLeaf{ +&os.SyscallError{ + Syscall: "open", + Err: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -4961,8 +9015,8 @@ innertwo == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -link /path/to/file: innerone -(1) link /path/to/file +open: innerone +(1) open Wraps: (2) innerone | innertwo | @@ -4970,7 +9024,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -4994,12 +9048,12 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf +Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -link ‹/path/to/file›: ‹innerone› +open: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -5007,8 +9061,8 @@ link ‹/path/to/file›: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -link ‹/path/to/file›: ‹innerone› -(1) link ‹/path/to/file› +open: ‹innerone› +(1) open Wraps: (2) ‹innerone› | ‹innertwo› | @@ -5016,7 +9070,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5040,32 +9094,64 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *fs.PathError (2) *errbase.opaqueLeaf +Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -:: link ×: × -× --- +:: open: × +(1) open +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*fs.PathError +*os.SyscallError == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -io/fs/*fs.PathError (os/*os.PathError::) +os/*os.SyscallError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: link ×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: open: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5075,75 +9161,113 @@ Title: "*errors.fundamental: link ×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -os-syscall outerthree outerfour +pkgmsg outerthree outerfour opaque -accept %\+v via Formattable.*IRREGULAR: not same as %\+v +accept %x.*IRREGULAR: not same as hex Error +accept %q.*IRREGULAR: not same as quoted Error +accept %X.*IRREGULAR: not same as HEX Error accept %\#v via Formattable.*IRREGULAR: not same as %\#v - -require (?s)innerone.*innertwo +accept %\+v via Formattable.*IRREGULAR: not same as %\+v +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&os.SyscallError{ - Syscall: "open", - Err: &errbase.opaqueLeaf{ +&errors.withMessage{ + cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, + msg: "outerthree\nouterfour", } ===== ===== non-redactable formats ===== == %#v -&os.SyscallError{Syscall:"open", Err:&errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, -}} +outerthree +outerfour: innerone +innertwo == Error() -open: innerone +outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good -== %q = quoted Error(), good -== %x = hex Error(), good -== %X = HEX Error(), good -== %+v = Error(), ok +== %q (IRREGULAR: not same as quoted Error()) +outerthree +outerfour: innerone +innertwo +== %x (IRREGULAR: not same as hex Error()) +(EMPTY STRING) +== %X (IRREGULAR: not same as HEX Error()) +(EMPTY STRING) +== %+v +innerone +(1) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueLeaf +outerthree +outerfour == %#v via Formattable() (IRREGULAR: not same as %#v) -&os.SyscallError{ - Syscall: "open", - Err: &errbase.opaqueLeaf{ +&errors.withMessage{ + cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, + msg: "outerthree\nouterfour", } == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good == %q via Formattable() = quoted %v via Formattable(), good == %+v via Formattable() (IRREGULAR: not same as %+v) -open: innerone -(1) open +outerthree: innerone +(1) outerthree + | outerfour Wraps: (2) innerone | innertwo | @@ -5151,7 +9275,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5175,12 +9299,13 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf +Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -open: ‹innerone› +‹outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -5188,8 +9313,9 @@ open: ‹innerone› == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -open: ‹innerone› -(1) open +‹outerthree›: ‹innerone› +(1) ‹outerthree› +‹ | outerfour› Wraps: (2) ‹innerone› | ‹innertwo› | @@ -5197,7 +9323,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5221,32 +9347,65 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *os.SyscallError (2) *errbase.opaqueLeaf +Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -:: open: × +:: ×: × +(1) × × --- +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*os.SyscallError +*errors.withMessage == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -os/*os.SyscallError (*::) +github.com/pkg/errors/*errors.withMessage (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: open: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5256,15 +9415,15 @@ Title: "*errors.fundamental: open: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -pkgmsg outerthree outerfour +pkgstack outerthree outerfour opaque accept %x.*IRREGULAR: not same as hex Error @@ -5272,51 +9431,66 @@ accept %q.*IRREGULAR: not same as quoted Error accept %X.*IRREGULAR: not same as HEX Error accept %\#v via Formattable.*IRREGULAR: not same as %\#v accept %\+v via Formattable.*IRREGULAR: not same as %\+v -require (?s)outerthree.*outerfour.*innerone.*innertwo +require (?s)innerone.*innertwo ---- -&errors.withMessage{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - msg: "outerthree\nouterfour", + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -outerthree -outerfour: innerone -innertwo +&errbase.opaqueWrapper{ + cause: &errbase.opaqueLeaf{ + msg: "innerone\ninnertwo", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + }, + prefix: "", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/pkg/errors/*errors.withStack", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func30\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, +} == Error() -outerthree -outerfour: innerone +innerone innertwo == %v = Error(), good == %s = Error(), good -== %q (IRREGULAR: not same as quoted Error()) -outerthree -outerfour: innerone -innertwo -== %x (IRREGULAR: not same as hex Error()) -(EMPTY STRING) -== %X (IRREGULAR: not same as HEX Error()) -(EMPTY STRING) +== %q = quoted Error(), good +== %x = hex Error(), good +== %X = HEX Error(), good == %+v innerone -(1) innerone - | innertwo - | - | (opaque error leaf) - | type name: github.com/pkg/errors/*errors.fundamental +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func30 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5340,29 +9514,6 @@ innerone | : | runtime.goexit | : -Error types: (1) *errbase.opaqueLeaf -outerthree -outerfour -== %#v via Formattable() (IRREGULAR: not same as %#v) -&errors.withMessage{ - cause: &errbase.opaqueLeaf{ - msg: "innerone\ninnertwo", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, - }, - msg: "outerthree\nouterfour", -} -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() (IRREGULAR: not same as %+v) -outerthree: innerone -(1) outerthree - | outerfour Wraps: (2) innerone | innertwo | @@ -5370,7 +9521,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5394,23 +9545,54 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good ===== ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹outerthree› -‹outerfour›: ‹innerone› +‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good == printed via redact Printf() %q, refused - good == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v via Formattable() -‹outerthree›: ‹innerone› -(1) ‹outerthree›‹› -‹ | outerfour› +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : Wraps: (2) ‹innerone› | ‹innertwo› | @@ -5418,7 +9600,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5442,33 +9624,120 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *errors.withMessage (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload :: × -×: × -× --- +(1) + | (opaque error wrapper) + | type name: github.com/pkg/errors/*errors.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func30 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*errors.withMessage +:: *errors.withStack (1) +(check the extra data payloads) == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/pkg/errors/*errors.withMessage (*::) +github.com/pkg/errors/*errors.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×: ×\n×" +Type: "(1) : ...funcNN... +Title: "*errors.withStack" +:: + (runtime) goexit() +:: + (testing) tRunner() +:: + (github.com/cockroachdb/datadriven.Walk)...funcNN... +:: + (github.com/cockroachdb/datadriven) Walk() +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... +:: + (github.com/cockroachdb/datadriven) RunTest() +:: + (github.com/cockroachdb/datadriven) runTestInternal() +:: + (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() +:: + (github.com/cockroachdb/datadriven) runDirective() +:: + (github.com/cockroachdb/datadriven.runDirective)...funcNN... +:: + (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() +:: + (github.com/cockroachdb/errors/fmttests.init)...funcNN... +== Exception 2 (Module: "error domain: ") +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5478,63 +9747,46 @@ Title: "*errors.fundamental: ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -pkgstack outerthree outerfour +safedetails outerthree outerfour opaque -accept %x.*IRREGULAR: not same as hex Error -accept %q.*IRREGULAR: not same as quoted Error -accept %X.*IRREGULAR: not same as HEX Error -accept %\#v via Formattable.*IRREGULAR: not same as %\#v -accept %\+v via Formattable.*IRREGULAR: not same as %\+v require (?s)innerone.*innertwo ---- -&errbase.opaqueWrapper{ +&safedetails.withSafeDetails{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + safeDetails: {"safe ×\n×"}, } ===== ===== non-redactable formats ===== == %#v -&errbase.opaqueWrapper{ +&safedetails.withSafeDetails{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - prefix: "", - details: errorspb.EncodedErrorDetails{ - OriginalTypeName: "github.com/pkg/errors/*errors.withStack", - ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func26\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, - FullDetails: (*types.Any)(nil), - }, + safeDetails: {"safe ×\n×"}, } == Error() innerone @@ -5546,35 +9798,8 @@ innertwo == %X = HEX Error(), good == %+v innerone -(1) - | (opaque error wrapper) - | type name: github.com/pkg/errors/*errors.withStack - | reportable 0: - | - | github.com/cockroachdb/errors/fmttests.glob..func26 - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - | : - | github.com/cockroachdb/datadriven.runDirective.func1 - | : - | github.com/cockroachdb/datadriven.runDirective - | : - | github.com/cockroachdb/datadriven.runDirectiveOrSubTest - | : - | github.com/cockroachdb/datadriven.runTestInternal - | : - | github.com/cockroachdb/datadriven.RunTest - | : - | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - | : - | github.com/cockroachdb/datadriven.Walk - | : - | github.com/cockroachdb/datadriven.Walk.func1 - | : - | testing.tRunner - | : - | runtime.goexit - | : +(1) safe × + | × Wraps: (2) innerone | innertwo | @@ -5582,7 +9807,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5606,7 +9831,7 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -5625,12 +9850,16 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v ‹innerone› -(1) - | (opaque error wrapper) - | type name: github.com/pkg/errors/*errors.withStack +(1) safe × + | × +Wraps: (2) ‹innerone› + | ‹innertwo› + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func26 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5654,14 +9883,22 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf | : | runtime.goexit | : -Wraps: (2) ‹innerone› - | ‹innertwo› +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +===== +===== Sentry reporting +===== +== Message payload +:: × +(1) safe × + | × +Wraps: (2) × + | × | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5685,60 +9922,26 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf -===== -===== Sentry reporting -===== -== Message payload -:: × -× --- +Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -:: *errors.withStack (1) -(check the extra data payloads) +*safedetails.withSafeDetails: safe × == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/pkg/errors/*errors.withStack (*::) +github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) == Exception 1 (Module: "error domain: ") -Type: "(1) : (func26)" -Title: "*errors.withStack" -:: - (runtime) goexit() -:: - (testing) tRunner() -:: - (github.com/cockroachdb/datadriven.Walk) func1() -:: - (github.com/cockroachdb/datadriven) Walk() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() -:: - (github.com/cockroachdb/datadriven) RunTest() -:: - (github.com/cockroachdb/datadriven) runTestInternal() -:: - (github.com/cockroachdb/datadriven) runDirectiveOrSubTest() -:: - (github.com/cockroachdb/datadriven) runDirective() -:: - (github.com/cockroachdb/datadriven.runDirective) func1() -:: - (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() -:: - (github.com/cockroachdb/errors/fmttests.glob.) func26() -== Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5748,49 +9951,64 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo -safedetails outerthree outerfour +safefmt outerthree outerfour opaque -require (?s)innerone.*innertwo +require (?s)outerthree.*outerfour.*innerone.*innertwo ---- -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } ===== ===== non-redactable formats ===== == %#v -&safedetails.withSafeDetails{ +&errbase.opaqueWrapper{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, - safeDetails: {"safe ×\n×"}, + prefix: "safe outerthree\nouterfour", + details: errorspb.EncodedErrorDetails{ + OriginalTypeName: "github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", + ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat", Extension:""}, + ReportablePayload: nil, + FullDetails: (*types.Any)(nil), + }, + messageType: 0, } == Error() -innerone +safe outerthree +outerfour: innerone innertwo == %v = Error(), good == %s = Error(), good @@ -5798,9 +10016,12 @@ innertwo == %x = hex Error(), good == %X = HEX Error(), good == %+v -innerone -(1) safe × - | × +safe outerthree: innerone +(1) safe outerthree + | outerfour + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) innerone | innertwo | @@ -5808,7 +10029,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5832,7 +10053,7 @@ Wraps: (2) innerone | : | runtime.goexit | : -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf == %#v via Formattable() = %#v, good == %v via Formattable() = Error(), good == %s via Formattable() = %v via Formattable(), good @@ -5842,7 +10063,8 @@ Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf ===== redactable formats ===== == printed via redact Print(), ok - congruent with %v -‹innerone› +‹safe outerthree› +‹outerfour›: ‹innerone› ‹innertwo› == printed via redact Printf() %v = Print(), good == printed via redact Printf() %s = Print(), good @@ -5850,9 +10072,12 @@ Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf == printed via redact Printf() %x, refused - good == printed via redact Printf() %X, refused - good == printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› -(1) safe × - | × +‹safe outerthree›: ‹innerone› +(1) ‹safe outerthree› + | ‹outerfour› + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat Wraps: (2) ‹innerone› | ‹innertwo› | @@ -5860,7 +10085,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -5884,36 +10109,68 @@ Wraps: (2) ‹innerone› | : | runtime.goexit | : -Error types: (1) *safedetails.withSafeDetails (2) *errbase.opaqueLeaf +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf ===== ===== Sentry reporting ===== == Message payload -:: × -× --- +:: ×: × +(1) × + | × + | + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*safedetails.withSafeDetails: safe × (1) -(check the extra data payloads) -== Extra "1: details" -safe × - × +*fmttests.werrSafeFormat == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) -github.com/cockroachdb/errors/safedetails/*safedetails.withSafeDetails (*::) +github.com/cockroachdb/errors/fmttests/*fmttests.werrSafeFormat (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -5923,11 +10180,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -5936,14 +10193,13 @@ opaque require (?s)innerone.*innertwo ---- ----- &secondary.withSecondaryError{ cause: &errbase.opaqueLeaf{ msg: "innerone\ninnertwo", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -5953,9 +10209,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } ===== @@ -5968,7 +10225,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -5978,9 +10235,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func50\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func58\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, } == Error() @@ -6000,7 +10258,7 @@ innerone | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6034,7 +10292,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6084,7 +10342,7 @@ Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func50 + | | github.com/cockroachdb/errors/fmttests.init.func58 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -6118,7 +10376,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6148,57 +10406,91 @@ Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) secondary error attachment + | outerthree + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func58 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) outerthree + | | outerfour + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *secondary.withSecondaryError (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (1) -(check the extra data payloads) -== Extra "1: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func50 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - outerthree - outerfour +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6208,13 +10500,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -6229,7 +10519,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6237,9 +10527,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -6251,7 +10542,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6259,9 +10550,10 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func37\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func44\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() innerone @@ -6278,7 +10570,86 @@ innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) innerone + | innertwo + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf +== %#v via Formattable() = %#v, good +== %v via Formattable() = Error(), good +== %s via Formattable() = %v via Formattable(), good +== %q via Formattable() = quoted %v via Formattable(), good +== %+v via Formattable() == %+v, good +===== +===== redactable formats +===== +== printed via redact Print(), ok - congruent with %v +‹innerone› +‹innertwo› +== printed via redact Printf() %v = Print(), good +== printed via redact Printf() %s = Print(), good +== printed via redact Printf() %q, refused - good +== printed via redact Printf() %x, refused - good +== printed via redact Printf() %X, refused - good +== printed via redact Printf() %+v, ok - congruent with %+v +‹innerone› +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6302,14 +10673,14 @@ innerone | : | runtime.goexit | : -Wraps: (2) innerone - | innertwo +Wraps: (2) ‹innerone› + | ‹innertwo› | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6334,30 +10705,17 @@ Wraps: (2) innerone | runtime.goexit | : Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf -== %#v via Formattable() = %#v, good -== %v via Formattable() = Error(), good -== %s via Formattable() = %v via Formattable(), good -== %q via Formattable() = quoted %v via Formattable(), good -== %+v via Formattable() == %+v, good ===== -===== redactable formats +===== Sentry reporting ===== -== printed via redact Print(), ok - congruent with %v -‹innerone› -‹innertwo› -== printed via redact Printf() %v = Print(), good -== printed via redact Printf() %s = Print(), good -== printed via redact Printf() %q, refused - good -== printed via redact Printf() %x, refused - good -== printed via redact Printf() %X, refused - good -== printed via redact Printf() %+v, ok - congruent with %+v -‹innerone› +== Message payload +:: × (1) | (opaque error wrapper) | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func37 + | github.com/cockroachdb/errors/fmttests.init.func44 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6381,14 +10739,14 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf | : | runtime.goexit | : -Wraps: (2) ‹innerone› - | ‹innertwo› +Wraps: (2) × + | × | | (opaque error leaf) | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6413,13 +10771,7 @@ Wraps: (2) ‹innerone› | runtime.goexit | : Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf -===== -===== Sentry reporting -===== -== Message payload -:: × -× --- +-- report composition: :: *errors.fundamental (top exception) :: *withstack.withStack (1) (check the extra data payloads) @@ -6427,18 +10779,18 @@ Error types: (1) *errbase.opaqueWrapper (2) *errbase.opaqueLeaf github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(1) : (func37)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6448,24 +10800,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func37() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6475,11 +10827,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -6494,7 +10846,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6534,7 +10886,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6582,7 +10934,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6633,7 +10985,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6663,30 +11015,58 @@ Error types: (1) *contexttags.withContext (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) tags: [k×,safe=×] +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *contexttags.withContext (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*contexttags.withContext: k× (1) -(check the extra data payloads) -== Extra "1: details" -k× -safe=456 +*contexttags.withContext: k× == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/contexttags/*contexttags.withContext (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6696,11 +11076,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -6715,7 +11095,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6731,7 +11111,7 @@ require (?s)innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6756,7 +11136,7 @@ Wraps: (2) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6808,7 +11188,7 @@ Wraps: (2) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6838,31 +11218,59 @@ Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueLeaf ===== == Message payload :: × -× --- +(1) keys: [somekey outerthree + | outerfour] +Wraps: (2) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *telemetrykeys.withTelemetry (2) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*telemetrykeys.withTelemetry: somekey (1) -(check the extra data payloads) -== Extra "1: details" -somekey -outerthree - outerfour +*telemetrykeys.withTelemetry: somekey == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/telemetrykeys/*telemetrykeys.withTelemetry (*::) == Exception 1 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -6872,11 +11280,11 @@ Title: "*errors.fundamental: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -6892,7 +11300,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6902,9 +11310,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -6917,7 +11326,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -6927,9 +11336,10 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func40\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func48\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-stylew outerthree @@ -6947,7 +11357,7 @@ new-stylew outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -6980,7 +11390,7 @@ Wraps: (3) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7029,7 +11439,7 @@ new-stylew ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func40 + | github.com/cockroachdb/errors/fmttests.init.func48 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7062,7 +11472,7 @@ Wraps: (3) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7091,34 +11501,92 @@ Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opa ===== Sentry reporting ===== == Message payload -:: new-stylew × -×: × -× --- +:: new-stylew ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func48 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) new-stylew × + | × +Wraps: (3) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *errutil.withPrefix (3) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*errutil.withPrefix: new-stylew × (1) -:: *withstack.withStack (2) +*errutil.withPrefix: new-stylew × +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-stylew × - × == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(2) : (func40)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7128,24 +11596,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func40() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: new-stylew ×\n×: ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: new-stylew ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7155,11 +11623,11 @@ Title: "*errors.fundamental: new-stylew ×\n×: ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... run pkgerr innerone innertwo @@ -7168,7 +11636,6 @@ opaque require (?s)outerthree.*outerfour.*innerone.*innertwo ---- ----- &errbase.opaqueWrapper{ cause: &secondary.withSecondaryError{ cause: &errutil.withPrefix{ @@ -7177,7 +11644,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -7189,18 +11656,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } ===== ===== non-redactable formats @@ -7214,7 +11683,7 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/pkg/errors/*errors.fundamental", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/pkg/errors/*errors.fundamental", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func9\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, }, @@ -7226,18 +11695,20 @@ require (?s)outerthree.*outerfour.*innerone.*innertwo details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, }, }, prefix: "", details: errorspb.EncodedErrorDetails{ OriginalTypeName: "github.com/cockroachdb/errors/withstack/*withstack.withStack", ErrorTypeMark: errorspb.ErrorTypeMark{FamilyName:"github.com/cockroachdb/errors/withstack/*withstack.withStack", Extension:""}, - ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.glob..func51\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, + ReportablePayload: {"\ngithub.com/cockroachdb/errors/fmttests.init.func59\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1\n\:\ngithub.com/cockroachdb/datadriven.runDirective.func1\n\:\ngithub.com/cockroachdb/datadriven.runDirective\n\:\ngithub.com/cockroachdb/datadriven.runDirectiveOrSubTest\n\:\ngithub.com/cockroachdb/datadriven.runTestInternal\n\:\ngithub.com/cockroachdb/datadriven.RunTest\n\:\ngithub.com/cockroachdb/errors/fmttests.TestDatadriven.func2\n\:\ngithub.com/cockroachdb/datadriven.Walk\n\:\ngithub.com/cockroachdb/datadriven.Walk.func1\n\:\ntesting.tRunner\n\:\nruntime.goexit\n\:"}, FullDetails: (*types.Any)(nil), }, + messageType: 0, } == Error() new-style outerthree @@ -7255,7 +11726,7 @@ new-style outerthree: innerone | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7286,7 +11757,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -7321,7 +11792,7 @@ Wraps: (4) innerone | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7370,7 +11841,7 @@ new-style ‹outerthree›: ‹innerone› | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func51 + | github.com/cockroachdb/errors/fmttests.init.func59 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7401,7 +11872,7 @@ Wraps: (2) secondary error attachment | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack | | reportable 0: | | - | | github.com/cockroachdb/errors/fmttests.glob..func51 + | | github.com/cockroachdb/errors/fmttests.init.func59 | | : | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | | : @@ -7436,7 +11907,7 @@ Wraps: (4) ‹innerone› | type name: github.com/pkg/errors/*errors.fundamental | reportable 0: | - | github.com/cockroachdb/errors/fmttests.glob..func9 + | github.com/cockroachdb/errors/fmttests.init.func9 | : | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 | : @@ -7465,65 +11936,127 @@ Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *e ===== Sentry reporting ===== == Message payload -:: new-style × -× (payload): × -× --- +:: new-style ×: × +(1) + | (opaque error wrapper) + | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func59 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Wraps: (2) secondary error attachment + | payload + | (1) + | | (opaque error wrapper) + | | type name: github.com/cockroachdb/errors/withstack/*withstack.withStack + | | reportable 0: + | | + | | github.com/cockroachdb/errors/fmttests.init.func59 + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | | : + | | github.com/cockroachdb/datadriven.runDirective.func1 + | | : + | | github.com/cockroachdb/datadriven.runDirective + | | : + | | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | | : + | | github.com/cockroachdb/datadriven.runTestInternal + | | : + | | github.com/cockroachdb/datadriven.RunTest + | | : + | | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | | : + | | github.com/cockroachdb/datadriven.Walk + | | : + | | github.com/cockroachdb/datadriven.Walk.func1 + | | : + | | testing.tRunner + | | : + | | runtime.goexit + | | : + | Wraps: (2) payload + | Error types: (1) *errbase.opaqueWrapper (2) *errutil.leafError +Wraps: (3) new-style × + | × (payload) +Wraps: (4) × + | × + | + | (opaque error leaf) + | type name: github.com/pkg/errors/*errors.fundamental + | reportable 0: + | + | github.com/cockroachdb/errors/fmttests.init.func9 + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 + | : + | github.com/cockroachdb/datadriven.runDirective.func1 + | : + | github.com/cockroachdb/datadriven.runDirective + | : + | github.com/cockroachdb/datadriven.runDirectiveOrSubTest + | : + | github.com/cockroachdb/datadriven.runTestInternal + | : + | github.com/cockroachdb/datadriven.RunTest + | : + | github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 + | : + | github.com/cockroachdb/datadriven.Walk + | : + | github.com/cockroachdb/datadriven.Walk.func1 + | : + | testing.tRunner + | : + | runtime.goexit + | : +Error types: (1) *errbase.opaqueWrapper (2) *secondary.withSecondaryError (3) *errutil.withPrefix (4) *errbase.opaqueLeaf +-- report composition: :: *errors.fundamental (top exception) -*errutil.withPrefix: new-style × (1) -*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: (2) -:: *withstack.withStack (3) +*errutil.withPrefix: new-style × +*secondary.withSecondaryError: details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: +:: *withstack.withStack (1) (check the extra data payloads) -== Extra "1: details" -new-style × - × (payload) -== Extra "2: details" -details for github.com/cockroachdb/errors/withstack/*withstack.withStack::: - - github.com/cockroachdb/errors/fmttests.glob..func51 - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2.1 - : - github.com/cockroachdb/datadriven.runDirective.func1 - : - github.com/cockroachdb/datadriven.runDirective - : - github.com/cockroachdb/datadriven.runDirectiveOrSubTest - : - github.com/cockroachdb/datadriven.runTestInternal - : - github.com/cockroachdb/datadriven.RunTest - : - github.com/cockroachdb/errors/fmttests.TestDatadriven.func2 - : - github.com/cockroachdb/datadriven.Walk - : - github.com/cockroachdb/datadriven.Walk.func1 - : - testing.tRunner - : - runtime.goexit - : -details for github.com/cockroachdb/errors/errutil/*errutil.leafError::: - payload == Extra "error types" github.com/pkg/errors/*errors.fundamental (*::) github.com/cockroachdb/errors/errutil/*errutil.withPrefix (*::) github.com/cockroachdb/errors/secondary/*secondary.withSecondaryError (*::) github.com/cockroachdb/errors/withstack/*withstack.withStack (*::) == Exception 1 (Module: "error domain: ") -Type: "(3) : (func51)" +Type: "(1) : ...funcNN... Title: "*withstack.withStack" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7533,24 +12066,24 @@ Title: "*withstack.withStack" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func51() + (github.com/cockroachdb/errors/fmttests.init)...funcNN... == Exception 2 (Module: "error domain: ") -Type: ": (func9)" -Title: "*errors.fundamental: new-style ×\n× (payload): ×\n×" +Type: ": ...funcNN... +Title: "*errors.fundamental: new-style ×: ×" :: (runtime) goexit() :: (testing) tRunner() :: - (github.com/cockroachdb/datadriven.Walk) func1() + (github.com/cockroachdb/datadriven.Walk)...funcNN... :: (github.com/cockroachdb/datadriven) Walk() :: - (github.com/cockroachdb/errors/fmttests.TestDatadriven) func2() + (github.com/cockroachdb/errors/fmttests.TestDatadriven)...funcNN... :: (github.com/cockroachdb/datadriven) RunTest() :: @@ -7560,10 +12093,8 @@ Title: "*errors.fundamental: new-style ×\n× (payload): ×\n×" :: (github.com/cockroachdb/datadriven) runDirective() :: - (github.com/cockroachdb/datadriven.runDirective) func1() + (github.com/cockroachdb/datadriven.runDirective)...funcNN... :: (github.com/cockroachdb/errors/fmttests.TestDatadriven.func2) 1() :: - (github.com/cockroachdb/errors/fmttests.glob.) func9() ----- ----- + (github.com/cockroachdb/errors/fmttests.init)...funcNN... diff --git a/go.mod b/go.mod index c26f91b..7297c44 100644 --- a/go.mod +++ b/go.mod @@ -1,24 +1,35 @@ module github.com/cockroachdb/errors -go 1.13 +go 1.23.0 + +toolchain go1.23.8 require ( - github.com/cockroachdb/datadriven v1.0.0 - github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f - github.com/cockroachdb/redact v1.1.1 - github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 + github.com/cockroachdb/datadriven v1.0.2 + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b + github.com/cockroachdb/redact v1.1.5 + github.com/getsentry/sentry-go v0.27.0 github.com/gogo/googleapis v1.4.1 // gogoproto 1.2-compatible, for CRDB github.com/gogo/protobuf v1.3.2 github.com/gogo/status v1.1.0 - github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91 - github.com/kr/pretty v0.2.1 - github.com/kr/text v0.2.0 // indirect + github.com/hydrogen18/memlistener v1.0.0 + github.com/kr/pretty v0.3.1 github.com/pkg/errors v0.9.1 - github.com/stretchr/testify v1.7.0 - golang.org/x/net v0.0.0-20210614182718-04defd469f4e // indirect - golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 // indirect - google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84 // indirect - google.golang.org/grpc v1.38.0 - google.golang.org/protobuf v1.26.0 - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + github.com/stretchr/testify v1.8.2 + google.golang.org/grpc v1.56.3 + google.golang.org/protobuf v1.33.0 +) + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect + golang.org/x/net v0.38.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/text v0.23.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index c547cb3..0cb96e1 100644 --- a/go.sum +++ b/go.sum @@ -1,332 +1,106 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= -github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= -github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= -github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= -github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= -github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cockroachdb/datadriven v1.0.0 h1:uhZrAfEayBecH2w2tZmhe20HJ7hDvrrA4x2Bg9YdZKM= -github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= -github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/cockroachdb/redact v1.1.1 h1:TNJ9tJHjtS7TrJR3n3DidvsQji8Av6Ecq8la9Xmn6SI= -github.com/cockroachdb/redact v1.1.1/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 h1:IKgmqgMQlVJIZj19CdocBeSfSaiCbEBZGKODaixqtHM= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= -github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= +github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= -github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= -github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= -github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= -github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= -github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/gogo/status v1.1.0 h1:+eIkrewn5q6b30y+g/BJINVVdi2xH7je5MPJ3ZPK3JA= github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= -github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91 h1:KyZDvZ/GGn+r+Y3DKZ7UOQ/TP4xV6HNkrwiVMB1GnNY= -github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= -github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= -github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= -github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= -github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= -github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= -github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= -github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= -github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= -github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/hydrogen18/memlistener v1.0.0 h1:JR7eDj8HD6eXrc5fWLbSUnfcQFL06PYvCc0DKQnWfaU= +github.com/hydrogen18/memlistener v1.0.0/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= -github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= -github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= -github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= -github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= -github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= -github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= -github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= -github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= -github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= -github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 h1:RqytpXGR1iVNX7psjB3ff8y7sNFinVFvkx1c8SjBkio= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84 h1:R1r5J0u6Cx+RNl/6mezTw6oA14cmKC96FeUwL6A9bd4= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= +google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= -gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/grpc/status/status.go b/grpc/status/status.go index 7c18eb9..3a248e9 100644 --- a/grpc/status/status.go +++ b/grpc/status/status.go @@ -11,10 +11,18 @@ func Error(c codes.Code, msg string) error { return extgrpc.WrapWithGrpcCode(errors.New(msg), c) } +func Errorf(c codes.Code, format string, args ...interface{}) error { + return extgrpc.WrapWithGrpcCode(errors.Newf(format, args...), c) +} + func WrapErr(c codes.Code, msg string, err error) error { return extgrpc.WrapWithGrpcCode(errors.WrapWithDepth(1, err, msg), c) } +func WrapErrf(c codes.Code, err error, format string, args ...interface{}) error { + return extgrpc.WrapWithGrpcCode(errors.WrapWithDepthf(1, err, format, args...), c) +} + func Code(err error) codes.Code { return extgrpc.GetGrpcCode(err) } diff --git a/hintdetail/hintdetail.go b/hintdetail/hintdetail.go index ac12333..81c3156 100644 --- a/hintdetail/hintdetail.go +++ b/hintdetail/hintdetail.go @@ -23,6 +23,7 @@ import ( // WithHint decorates an error with a textual hint. // The hint may contain PII and thus will not reportable. +// The suggested use case for hint is to relay information to end users. // // Hint is shown: // - when formatting with `%+v`. @@ -97,10 +98,12 @@ type ErrorHinter interface { // WithDetail decorates an error with a textual detail. // The detail may contain PII and thus will not reportable. +// The suggested use case for detail is to augment errors with information +// useful for debugging. // // Detail is shown: // - when formatting with `%+v`. -// - with `GetAllHints()` / `FlattenHints()` below. +// - with `GetAllDetails()` / `FlattenDetails()` below. // // Note: the detail does not appear in the main error message returned // with Error(). Use GetAllDetails() or FlattenDetails() to retrieve diff --git a/hintdetail_api.go b/hintdetail_api.go index 623bf64..01a9501 100644 --- a/hintdetail_api.go +++ b/hintdetail_api.go @@ -27,6 +27,7 @@ type ErrorDetailer = hintdetail.ErrorDetailer // WithHint decorates an error with a textual hint. // The hint may contain PII and thus will not reportable. +// The suggested use case for hint is to relay information to end users. // // Hint is shown: // - when formatting with `%+v`. @@ -44,10 +45,12 @@ func WithHintf(err error, format string, args ...interface{}) error { // WithDetail decorates an error with a textual detail. // The detail may contain PII and thus will not reportable. +// The suggested use case for detail is to augment errors with information +// useful for debugging. // // Detail is shown: // - when formatting with `%+v`. -// - with `GetAllHints()` / `FlattenHints()` below. +// - with `GetAllDetails()` / `FlattenDetails()` below. // // Note: the detail does not appear in the main error message returned // with Error(). Use GetAllDetails() or FlattenDetails() to retrieve diff --git a/join/join.go b/join/join.go new file mode 100644 index 0000000..7ca5fcd --- /dev/null +++ b/join/join.go @@ -0,0 +1,105 @@ +// Copyright 2019 The Cockroach Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. + +package join + +import ( + "context" + "fmt" + + "github.com/cockroachdb/errors/errbase" + "github.com/cockroachdb/redact" + "github.com/gogo/protobuf/proto" +) + +// Join returns an error that wraps the given errors. +// Any nil error values are discarded. +// Join returns nil if errs contains no non-nil values. +// The error formats as the concatenation of the strings obtained +// by calling the Error method of each element of errs, with a newline +// between each string. +func Join(errs ...error) error { + n := 0 + for _, err := range errs { + if err != nil { + n++ + } + } + if n == 0 { + return nil + } + e := &joinError{ + errs: make([]error, 0, n), + } + for _, err := range errs { + if err != nil { + e.errs = append(e.errs, err) + } + } + return e +} + +type joinError struct { + errs []error +} + +var _ error = (*joinError)(nil) +var _ fmt.Formatter = (*joinError)(nil) +var _ errbase.SafeFormatter = (*joinError)(nil) + +func (e *joinError) Error() string { + return redact.Sprint(e).StripMarkers() +} + +func (e *joinError) Unwrap() []error { + return e.errs +} + +func (e *joinError) SafeFormatError(p errbase.Printer) error { + for i, err := range e.errs { + if i > 0 { + p.Print("\n") + } + p.Print(err) + } + return nil +} + +func (e *joinError) Format(s fmt.State, verb rune) { + errbase.FormatError(e, s, verb) +} + +func init() { + errbase.RegisterMultiCauseEncoder( + errbase.GetTypeKey(&joinError{}), + func( + ctx context.Context, + err error, + ) (msg string, safeDetails []string, payload proto.Message) { + return "", nil, nil + }, + ) + errbase.RegisterMultiCauseDecoder( + errbase.GetTypeKey(&joinError{}), + func( + ctx context.Context, + causes []error, + msgPrefix string, + safeDetails []string, + payload proto.Message, + ) error { + return Join(causes...) + }, + ) +} diff --git a/join/join_test.go b/join/join_test.go new file mode 100644 index 0000000..aaf4b70 --- /dev/null +++ b/join/join_test.go @@ -0,0 +1,57 @@ +// Copyright 2019 The Cockroach Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. + +package join + +import ( + "errors" + "testing" + + "github.com/cockroachdb/errors/safedetails" + "github.com/cockroachdb/redact" +) + +func TestJoin(t *testing.T) { + e := Join(errors.New("abc123"), errors.New("def456")) + expected := "abc123\ndef456" + if e.Error() != expected { + t.Errorf("Expected: %s; Got: %s", expected, e.Error()) + } + + e = Join(errors.New("abc123"), nil, errors.New("def456"), nil) + if e.Error() != expected { + t.Errorf("Expected: %s; Got: %s", expected, e.Error()) + } + + e = Join(nil, nil, nil) + if e != nil { + t.Errorf("expected nil error") + } + + e = Join( + errors.New("information"), + safedetails.WithSafeDetails(errors.New("detailed error"), "trace_id: %d", redact.Safe(1234)), + ) + printed := redact.Sprintf("%+v", e) + expectedR := redact.RedactableString(`‹information› +(1) ‹information› + | ‹detailed error› +Wraps: (2) trace_id: 1234 +└─ Wraps: (3) ‹detailed error› +Wraps: (4) ‹information› +Error types: (1) *join.joinError (2) *safedetails.withSafeDetails (3) *errors.errorString (4) *errors.errorString`) + if printed != expectedR { + t.Errorf("Expected: %s; Got: %s", expectedR, printed) + } +} diff --git a/markers/example_is_type_test.go b/markers/example_has_type_test.go similarity index 96% rename from markers/example_is_type_test.go rename to markers/example_has_type_test.go index 00fbd2a..a7c6d70 100644 --- a/markers/example_is_type_test.go +++ b/markers/example_has_type_test.go @@ -26,7 +26,7 @@ type ExampleError struct{ msg string } func (e *ExampleError) Error() string { return e.msg } -func ExampleIsType() { +func ExampleHasType() { base := &ExampleError{"world"} err := errors.Wrap(base, "hello") fmt.Println(markers.HasType(err, (*ExampleError)(nil))) @@ -40,7 +40,7 @@ func ExampleIsType() { // false } -func ExampleIsInterface() { +func ExampleHasInterface() { base := &net.AddrError{ Addr: "ndn", Err: "ndn doesn't really exists :(", diff --git a/markers/markers.go b/markers/markers.go index f718d10..50a16e8 100644 --- a/markers/markers.go +++ b/markers/markers.go @@ -46,10 +46,12 @@ func Is(err, reference error) bool { return err == nil } + isComparable := reflect.TypeOf(reference).Comparable() + // Direct reference comparison is the fastest, and most // likely to be true, so do this first. for c := err; c != nil; c = errbase.UnwrapOnce(c) { - if c == reference { + if isComparable && c == reference { return true } // Compatibility with std go errors: if the error object itself @@ -57,31 +59,51 @@ func Is(err, reference error) bool { if tryDelegateToIsMethod(c, reference) { return true } - } - if err == nil { - // Err is nil and reference is non-nil, so it cannot match. We - // want to short-circuit the loop below in this case, otherwise - // we're paying the expense of getMark() without need. - return false + // Recursively try multi-error causes, if applicable. + for _, me := range errbase.UnwrapMulti(c) { + if Is(me, reference) { + return true + } + } } - // Not directly equal. Try harder, using error marks. We don't this - // during the loop above as it may be more expensive. - // - // Note: there is a more effective recursive algorithm that ensures - // that any pair of string only gets compared once. Should the - // following code become a performance bottleneck, that algorithm - // can be considered instead. - refMark := getMark(reference) - for c := err; c != nil; c = errbase.UnwrapOnce(c) { - if equalMarks(getMark(c), refMark) { + for errNext := err; errNext != nil; errNext = errbase.UnwrapOnce(errNext) { + if isMarkEqual(errNext, reference) { return true } } + return false } +func isMarkEqual(err, reference error) bool { + _, errIsMark := err.(*withMark) + _, refIsMark := reference.(*withMark) + if errIsMark || refIsMark { + // If either error is a mark, use the more general + // equalMarks() function. + return equalMarks(getMark(err), getMark(reference)) + } + + m1 := err + m2 := reference + for m1 != nil && m2 != nil { + if !errbase.EqualTypeMark(m1, m2) { + return false + } + m1 = errbase.UnwrapOnce(m1) + m2 = errbase.UnwrapOnce(m2) + } + + // The two chains have different lengths, so they cannot be equal. + if m1 != nil || m2 != nil { + return false + } + + return safeGetErrMsg(err) == safeGetErrMsg(reference) +} + func tryDelegateToIsMethod(err, reference error) bool { if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(reference) { return true @@ -141,51 +163,9 @@ func If(err error, pred func(err error) (interface{}, bool)) (interface{}, bool) // package location or a different type, ensure that // RegisterTypeMigration() was called prior to IsAny(). func IsAny(err error, references ...error) bool { - // First try using direct reference comparison. - for c := err; ; c = errbase.UnwrapOnce(c) { - for _, refErr := range references { - if c == refErr { - return true - } - // Compatibility with std go errors: if the error object itself - // implements Is(), try to use that. - if tryDelegateToIsMethod(c, refErr) { - return true - } - } - if c == nil { - // This special case is to support a comparison to a nil - // reference. - break - } - } - - if err == nil { - // The mark-based comparison below will never match anything if - // the error is nil, so don't bother with computing the marks in - // that case. This avoids the computational expense of computing - // the reference marks upfront. - return false - } - - // Try harder with marks. - // Note: there is a more effective recursive algorithm that ensures - // that any pair of string only gets compared once. Should this - // become a performance bottleneck, that algorithm can be considered - // instead. - refMarks := make([]errorMark, 0, len(references)) - for _, refErr := range references { - if refErr == nil { - continue - } - refMarks = append(refMarks, getMark(refErr)) - } - for c := err; c != nil; c = errbase.UnwrapOnce(c) { - errMark := getMark(c) - for _, refMark := range refMarks { - if equalMarks(errMark, refMark) { - return true - } + for _, reference := range references { + if Is(err, reference) { + return true } } return false @@ -201,6 +181,9 @@ func equalMarks(m1, m2 errorMark) bool { if m1.msg != m2.msg { return false } + if len(m1.types) != len(m2.types) { + return false + } for i, t := range m1.types { if !t.Equals(m2.types[i]) { return false @@ -214,7 +197,10 @@ func getMark(err error) errorMark { if m, ok := err.(*withMark); ok { return m.mark } - m := errorMark{msg: safeGetErrMsg(err), types: []errorspb.ErrorTypeMark{errbase.GetTypeMark(err)}} + m := errorMark{ + msg: safeGetErrMsg(err), + types: []errorspb.ErrorTypeMark{errbase.GetTypeMark(err)}, + } for c := errbase.UnwrapOnce(err); c != nil; c = errbase.UnwrapOnce(c) { m.types = append(m.types, errbase.GetTypeMark(c)) } diff --git a/markers/markers_test.go b/markers/markers_test.go index 773d994..657c8d8 100644 --- a/markers/markers_test.go +++ b/markers/markers_test.go @@ -17,7 +17,6 @@ package markers_test import ( "context" "errors" - goErr "errors" "fmt" "io" "net" @@ -96,6 +95,7 @@ func TestRemoteErrorEquivalence(t *testing.T) { newErr1 := network(err1) tt.Check(markers.Is(err1, newErr1)) + tt.Check(markers.Is(newErr1, err1)) tt.Check(!markers.Is(err2, newErr1)) } @@ -110,9 +110,26 @@ func TestStandardErrorRemoteEquivalence(t *testing.T) { newErr1 := network(err1) tt.Check(markers.Is(err1, newErr1)) + tt.Check(markers.Is(newErr1, err1)) tt.Check(!markers.Is(err2, newErr1)) } +// This test demonstrates that it is possible to recognize standard +// errors that have been sent over the network. +func TestStandardFmtErrorRemoteEquivalence(t *testing.T) { + tt := testutils.T{T: t} + + err1 := fmt.Errorf("hello") + err2 := fmt.Errorf("world") + + newErr1 := network(err1) + + tt.Check(markers.Is(err1, newErr1)) + tt.Check(markers.Is(newErr1, err1)) + tt.Check(!markers.Is(err2, newErr1)) + tt.Check(!markers.Is(newErr1, err2)) +} + // This test demonstrates that when the error library does not know // how to encode an error, it still knows that it is different from // other errors of different types, even though the message may be the @@ -162,6 +179,20 @@ func TestKnownErrorTypeDifference(t *testing.T) { tt.Check(!markers.Is(newErr1, newErr2)) } +func TestStandardFmtSingleWrapRemoteEquivalence(t *testing.T) { + tt := testutils.T{T: t} + + err1 := fmt.Errorf("hello %w", errors.New("world")) + err2 := fmt.Errorf("hello %w", errors.New("earth")) + + newErr1 := network(err1) + + tt.Check(markers.Is(err1, newErr1)) + tt.Check(markers.Is(newErr1, err1)) + tt.Check(!markers.Is(err2, newErr1)) + tt.Check(!markers.Is(newErr1, err2)) +} + // This test demonstrates that two errors that are structurally // different can be made to become equivalent by using the same // marker. @@ -199,6 +230,128 @@ func TestWrappedEquivalence(t *testing.T) { tt.Check(markers.Is(err2w, err1)) } +// This test demonstrates that equivalence can be "peeked" through +// behind multiple layers of wrapping. +func TestGoErrWrappedEquivalence(t *testing.T) { + tt := testutils.T{T: t} + + err1 := errors.New("hello") + err2 := fmt.Errorf("an error %w", err1) + + tt.Check(markers.Is(err2, err1)) + + m2 := errors.New("m2") + err2w := markers.Mark(err2, m2) + + tt.Check(markers.Is(err2w, m2)) +} + +// This test demonstrates that equivalence can be "peeked" through +// behind multiple layers of wrapping. +func TestGoMultiErrWrappedEquivalence(t *testing.T) { + tt := testutils.T{T: t} + + err1 := errors.New("hello") + err2 := errors.New("world") + err3 := fmt.Errorf("an error %w and %w", err1, err2) + + tt.Check(markers.Is(err3, err1)) + tt.Check(markers.Is(err3, err2)) + + m3 := errors.New("m3") + err3w := markers.Mark(err3, m3) + + tt.Check(markers.Is(err3w, m3)) + + err4 := fmt.Errorf("error: %w", err3) + + tt.Check(markers.Is(err4, err1)) + tt.Check(markers.Is(err4, err2)) +} + +type myErr struct{ msg string } + +func (e *myErr) Error() string { + return e.msg +} + +// This test demonstrates that it is possible to recognize standard +// multierrors that have been sent over the network. +func TestStandardFmtMultierrorRemoteEquivalence(t *testing.T) { + tt := testutils.T{T: t} + + err1 := fmt.Errorf("hello %w %w", errors.New("world"), errors.New("one")) + err2 := fmt.Errorf("hello %w %w", errors.New("world"), errors.New("two")) + + newErr1 := network(err1) + + tt.Check(markers.Is(err1, newErr1)) + tt.Check(markers.Is(newErr1, err1)) + tt.Check(!markers.Is(err2, newErr1)) + tt.Check(!markers.Is(newErr1, err2)) + + // Check multiple levels of causal nesting + err3 := fmt.Errorf("err: %w", errors.Join(err1, err2, &myErr{msg: "hi"})) + newErr3 := network(err3) + myErrV := &myErr{msg: "hi"} + + tt.Check(markers.Is(err3, newErr3)) + tt.Check(markers.Is(newErr3, err3)) + + tt.Check(markers.Is(err3, myErrV)) + tt.Check(markers.Is(newErr3, myErrV)) +} + +type myMultiError struct{ cause error } + +func (e myMultiError) Error() string { return e.cause.Error() } +func (e myMultiError) Unwrap() []error { return []error{e.cause} } + +type myOtherMultiError struct{ cause error } + +func (e myOtherMultiError) Error() string { return e.cause.Error() } +func (e myOtherMultiError) Unwrap() []error { return []error{e.cause} } + +func TestDifferentMultiErrorTypesCompareDifferentOverNetwork(t *testing.T) { + tt := testutils.T{T: t} + + base := errors.New("woo") + e1 := myMultiError{base} + e2 := myOtherMultiError{base} + + tt.Check(!markers.Is(e1, e2)) + + de1 := network(e1) + de2 := network(e2) + + tt.Check(!markers.Is(de1, de2)) +} + +// This test demonstrates that errors from the join +// and fmt constructors are properly considered as distinct. +func TestStandardFmtMultierrorRemoteRecursiveEquivalence(t *testing.T) { + tt := testutils.T{T: t} + + baseErr := errors.New("world") + err1 := fmt.Errorf("%w %w", baseErr, baseErr) + err2 := errors.Join(baseErr, baseErr) + + tt.Check(markers.Is(err1, baseErr)) + tt.Check(!markers.Is(err1, err2)) + tt.Check(!markers.Is(err2, err1)) + + newErr1 := network(err1) + newErr2 := network(err2) + + tt.Check(markers.Is(newErr1, baseErr)) + tt.Check(markers.Is(newErr2, baseErr)) + tt.Check(!markers.Is(newErr1, newErr2)) + tt.Check(!markers.Is(err1, newErr2)) + tt.Check(!markers.Is(err2, newErr1)) + tt.Check(!markers.Is(newErr2, err1)) + tt.Check(!markers.Is(newErr1, err2)) +} + // This check verifies that IsAny() works. func TestIsAny(t *testing.T) { tt := testutils.T{T: t} @@ -207,6 +360,10 @@ func TestIsAny(t *testing.T) { err2 := errors.New("world") err3 := pkgErr.Wrap(err1, "world") err4 := pkgErr.Wrap(err2, "universe") + err5 := errors.Join(err1, errors.New("gopher")) + err6 := errors.Join(errors.New("gopher"), err2) + err7 := errors.Join(err1, err2) + err8 := pkgErr.Wrap(err7, "gopher") var nilErr error tt.Check(markers.IsAny(err1, err1)) @@ -217,6 +374,14 @@ func TestIsAny(t *testing.T) { tt.Check(markers.IsAny(err3, err2, nilErr, err1)) tt.Check(markers.IsAny(nilErr, err2, nilErr, err1)) tt.Check(!markers.IsAny(nilErr, err2, err1)) + tt.Check(markers.IsAny(err5, err1)) + tt.Check(markers.IsAny(err6, err2)) + tt.Check(markers.IsAny(err7, err1)) + tt.Check(markers.IsAny(err7, err2)) + tt.Check(markers.IsAny(err7, err1, err2)) + tt.Check(markers.IsAny(err8, err1)) + tt.Check(markers.IsAny(err8, err2)) + tt.Check(markers.IsAny(err8, err1, err2)) } // This test demonstrates that two errors that are structurally @@ -467,7 +632,7 @@ func (e *myErrType2) Error() string { return e.msg } func TestFormat(t *testing.T) { tt := testutils.T{t} - refErr := goErr.New("foo") + refErr := errors.New("foo") const woo = `woo` const waawoo = `waa: woo` testCases := []struct { @@ -477,7 +642,7 @@ func TestFormat(t *testing.T) { expFmtVerbose string }{ {"marked", - markers.Mark(goErr.New("woo"), refErr), + markers.Mark(errors.New("woo"), refErr), woo, ` woo (1) forced error mark @@ -487,7 +652,7 @@ Wraps: (2) woo Error types: (1) *markers.withMark (2) *errors.errorString`}, {"marked + wrapper", - markers.Mark(&werrFmt{goErr.New("woo"), "waa"}, refErr), + markers.Mark(&werrFmt{errors.New("woo"), "waa"}, refErr), waawoo, ` waa: woo (1) forced error mark @@ -500,7 +665,7 @@ Wraps: (3) woo Error types: (1) *markers.withMark (2) *markers_test.werrFmt (3) *errors.errorString`}, {"wrapper + marked", - &werrFmt{markers.Mark(goErr.New("woo"), refErr), "waa"}, + &werrFmt{markers.Mark(errors.New("woo"), refErr), "waa"}, waawoo, ` waa: woo (1) waa @@ -573,9 +738,9 @@ func (e *invalidError) Cause() error { return e.emptyRef } func TestDelegateToIsMethod(t *testing.T) { tt := testutils.T{T: t} - efoo := &errWithIs{msg: "foo", seecret: "foo"} - efoo2 := &errWithIs{msg: "foo", seecret: "bar"} - ebar := &errWithIs{msg: "bar", seecret: "foo"} + efoo := &errWithIs{msg: "foo", secret: "foo"} + efoo2 := &errWithIs{msg: "foo", secret: "bar"} + ebar := &errWithIs{msg: "bar", secret: "foo"} tt.Check(markers.Is(efoo, efoo2)) // equality based on message tt.Check(markers.Is(efoo, ebar)) // equality based on method @@ -587,15 +752,54 @@ func TestDelegateToIsMethod(t *testing.T) { } type errWithIs struct { - msg string - seecret string + msg string + secret string } func (e *errWithIs) Error() string { return e.msg } func (e *errWithIs) Is(o error) bool { if ex, ok := o.(*errWithIs); ok { - return e.seecret == ex.seecret + return e.secret == ex.secret } return false } + +func TestCompareUncomparable(t *testing.T) { + tt := testutils.T{T: t} + + err1 := errors.New("hello") + var nilErr error + f := []string{"woo"} + tt.Check(markers.Is(errorUncomparable{f}, errorUncomparable{})) + tt.Check(markers.IsAny(errorUncomparable{f}, errorUncomparable{})) + tt.Check(markers.IsAny(errorUncomparable{f}, nilErr, errorUncomparable{})) + tt.Check(!markers.Is(errorUncomparable{f}, &errorUncomparable{})) + tt.Check(!markers.IsAny(errorUncomparable{f}, &errorUncomparable{})) + tt.Check(!markers.IsAny(errorUncomparable{f}, nilErr, &errorUncomparable{})) + tt.Check(markers.Is(&errorUncomparable{f}, errorUncomparable{})) + tt.Check(markers.IsAny(&errorUncomparable{f}, errorUncomparable{})) + tt.Check(markers.IsAny(&errorUncomparable{f}, nilErr, errorUncomparable{})) + tt.Check(!markers.Is(&errorUncomparable{f}, &errorUncomparable{})) + tt.Check(!markers.IsAny(&errorUncomparable{f}, &errorUncomparable{})) + tt.Check(!markers.IsAny(&errorUncomparable{f}, nilErr, &errorUncomparable{})) + tt.Check(!markers.Is(errorUncomparable{f}, err1)) + tt.Check(!markers.IsAny(errorUncomparable{f}, err1)) + tt.Check(!markers.IsAny(errorUncomparable{f}, nilErr, err1)) + tt.Check(!markers.Is(&errorUncomparable{f}, err1)) + tt.Check(!markers.IsAny(&errorUncomparable{f}, err1)) + tt.Check(!markers.IsAny(&errorUncomparable{f}, nilErr, err1)) +} + +type errorUncomparable struct { + f []string +} + +func (e errorUncomparable) Error() string { + return fmt.Sprintf("uncomparable error %d", len(e.f)) +} + +func (errorUncomparable) Is(target error) bool { + _, ok := target.(errorUncomparable) + return ok +} diff --git a/report/report.go b/report/report.go index b999a7f..817583d 100644 --- a/report/report.go +++ b/report/report.go @@ -15,7 +15,6 @@ package report import ( - "bytes" "fmt" "strings" @@ -23,7 +22,7 @@ import ( "github.com/cockroachdb/errors/errbase" "github.com/cockroachdb/errors/withstack" "github.com/cockroachdb/redact" - "github.com/cockroachdb/sentry-go" + sentry "github.com/getsentry/sentry-go" ) // BuildSentryReport builds the components of a sentry report. This @@ -35,36 +34,39 @@ import ( // // A Sentry report is displayed visually in the Sentry UI as follows: // -//////////////// +// ////////////// // Title: (1) some prefix in bold (2) one line for a stack trace // (3) a single-line subtitle // -// (4) the tags, as a tag soup (concatenated in a single paragrah, +// (4) the tags, as a tag soup (concatenated in a single paragraph, // unsorted) // // (5) a "message" // // (6) zero or more "exceptions", each composed of: -// (7) a bold title -// (8) some freeform text -// (9) a stack trace +// +// (7) a bold title +// (8) some freeform text +// (9) a stack trace // // (10) metadata fields: environment, arch, etc // // (11) "Additional data" fields // // (12) SDK version -///////////////// +// /////////////// // // These visual items map to the Sentry Event object as follows: // // (1) the Type field of the 1st Exception object, if any -// otherwise the Message field +// +// otherwise the Message field +// // (2) the topmost entry from the Stacktrace field of the 1st Exception object, if any // (3) the Value field of the 1st Exception object, if any, unwrapped as a single line // (4) the Tags field // (5) the Message field -// (7) the Type field (same as (1) for 1st execption) +// (7) the Type field (same as (1) for 1st exception) // (8) the Value field (same as (3) for 1st exception) // (9) the Stacktrace field (input to (2) on 1st exception) // (10) the other fields on the Event object @@ -76,13 +78,15 @@ import ( // Given this mapping, an error object is decomposed as follows: // // (1)/(7): : () -// (3)/(8): : +// (3)/(8): first line of verbose error printout // (4): not populated in this function, caller is to manage this -// (5): detailed structure of the entire error object, with references to "additional data" -// and additional "exception" objects +// (5): detailed structure of the entire error object, with references to +// +// additional "exception" objects +// // (9): generated from innermost stack trace // (6): every exception object after the 1st reports additional stack trace contexts -// (11): "additional data" populated from safe detail payloads +// (11): the detailed error types and their error mark. // // If there is no stack trace in the error, a synthetic Exception // object is still produced to provide visual detail in the Sentry UI. @@ -93,7 +97,6 @@ import ( // is included in the Sentry report. This does not affect error types // provided by the library, but could impact error types defined by // 3rd parties. This limitation may be lifted in a later version. -// func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string]interface{}) { if err == nil { // No error: do nothing. @@ -103,13 +106,13 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] // First step is to collect the details. var stacks []*withstack.ReportableStackTrace var details []errbase.SafeDetailPayload - for c := err; c != nil; c = errbase.UnwrapOnce(c) { + visitAllMulti(err, func(c error) { st := withstack.GetReportableStackTrace(c) stacks = append(stacks, st) sd := errbase.GetSafeDetails(c) details = append(details, sd) - } + }) module := string(domains.GetDomain(err)) // firstDetailLine is the first detail string encountered. @@ -119,17 +122,22 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] var firstDetailLine string // longMsgBuf will become the Message field, which contains the full - // structure of the error with cross-references to "Exception" and - // "Additional data" fields. + // structure of the error. var longMsgBuf strings.Builder - redactedErrStr := redact.Sprint(err).Redact() - if redactedErrStr != redactedMarker { - if f, l, _, ok := withstack.GetOneLineSource(err); ok { - fmt.Fprintf(&longMsgBuf, "%s:%d: ", f, l) + if f, l, _, ok := withstack.GetOneLineSource(err); ok { + fmt.Fprintf(&longMsgBuf, "%s:%d: ", f, l) + } + // Include the verbose error printout, with sensitive bits redacted out. + verboseErr := redact.Sprintf("%+v", err).Redact().StripMarkers() + if verboseErr != redactedMarker { + idx := strings.IndexByte(verboseErr, '\n') + if idx == -1 { + firstDetailLine = verboseErr + } else { + firstDetailLine = verboseErr[:idx] } - firstDetailLine = redactedErrStr.StripMarkers() - fmt.Fprintf(&longMsgBuf, "%v\n--\n", firstDetailLine) } + fmt.Fprint(&longMsgBuf, verboseErr) // sep is used to separate the entries in the longMsgBuf / Message // payload. @@ -159,6 +167,7 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] // layer. We iterate in this order because we want to describe the // error from innermost to outermost layer in longMsgBuf and // typesBuf. + longMsgBuf.WriteString("\n-- report composition:\n") for i := len(details) - 1; i >= 0; i-- { // Collect the type name for this layer of error wrapping, towards // the "error types" additional data field. @@ -204,10 +213,6 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] // Now decide what kind of payload we want to add to the Event // object. - // genExtra will remember whether we are adding an - // additional payload or not. - var genExtra bool - // Is there a stack trace? if st := stacks[i]; st != nil { var excType strings.Builder @@ -245,17 +250,21 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] exceptions = append(exceptions, exc) } else { // No stack trace. - // Are there safe details? If so, print them. + // Are there safe details? If so, print the first safe detail + // string (we're assuming that all the important bits will + // also be included in the verbose printout, so there's no + // need to dig out more safe strings here.) + // + // TODO(knz): the SafeDetails API is not really meant for Sentry + // reporting. Once we have more experience to prove that the + // verbose printout is sufficient, we can remove the SafeDetails + // from sentry reports. // // Note: we only print the details if no stack trace was found // at that level. This is because stack trace annotations also // produce the stack trace as safe detail string. - genExtra = len(details[i].SafeDetails) > 1 if len(details[i].SafeDetails) > 0 { d := details[i].SafeDetails[0] - if d != "" { - genExtra = true - } if j := strings.IndexByte(d, '\n'); j >= 0 { d = d[:j] } @@ -269,18 +278,6 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] } } } - - // Are we generating another extra for the safe detail strings? - if genExtra { - stKey := fmt.Sprintf("%d: details", extraNum) - var extraStr bytes.Buffer - for _, d := range details[i].SafeDetails { - fmt.Fprintln(&extraStr, strings.ReplaceAll(d, "\n", "\n ")) - } - extras[stKey] = extraStr.String() - fmt.Fprintf(&longMsgBuf, " (%d)", extraNum) - extraNum++ - } } if extraNum > 1 { @@ -299,7 +296,7 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] event.Message = longMsgBuf.String() event.Exception = exceptions - // If there is no exception payload, synthetize one. + // If there is no exception payload, synthesize one. if len(event.Exception) == 0 { // We know we don't have a stack trace to extract line/function // info from (if we had, we'd have an Exception payload at that @@ -354,7 +351,7 @@ func BuildSentryReport(err error) (event *sentry.Event, extraDetails map[string] return event, extras } -var redactedMarker = redact.RedactableString(redact.RedactedMarker()) +var redactedMarker = redact.RedactableString(redact.RedactedMarker()).StripMarkers() // ReportError reports the given error to Sentry. The caller is responsible for // checking whether telemetry is enabled, and calling the sentry.Flush() @@ -404,3 +401,13 @@ func reverseExceptionOrder(ex []sentry.Exception) { ex[i], ex[len(ex)-i-1] = ex[len(ex)-i-1], ex[i] } } + +func visitAllMulti(err error, f func(error)) { + f(err) + if e := errbase.UnwrapOnce(err); e != nil { + visitAllMulti(e, f) + } + for _, e := range errbase.UnwrapMulti(err) { + visitAllMulti(e, f) + } +} diff --git a/report/report_test.go b/report/report_test.go index d623985..0ff3017 100644 --- a/report/report_test.go +++ b/report/report_test.go @@ -27,7 +27,7 @@ import ( "github.com/cockroachdb/errors/safedetails" "github.com/cockroachdb/errors/testutils" "github.com/cockroachdb/errors/withstack" - "github.com/cockroachdb/sentry-go" + sentry "github.com/getsentry/sentry-go" "github.com/kr/pretty" ) @@ -44,12 +44,12 @@ import ( // // myErr := errutil.Newf("Hello %s %d", "world", redact.Safe(123)) // myErr = errutil.Wrapf(myErr, "some prefix %s", "unseen") +// myErr = errutil.NewAssertionErrorWithWrappedErrf(myErr, "assert %s %s", redact.Safe("safe"), "unsafe") // // if eventID := report.ReportError(myErr); eventID == "" { // t.Fatal("eventID is empty") // } // sentry.Flush(2 * time.Second) -// // } func TestReport(t *testing.T) { @@ -94,12 +94,28 @@ func TestReport(t *testing.T) { e := events[0] tt.Run("long message payload", func(tt testutils.T) { - expectedLongMessage := `^\*errors.errorString -\*safedetails.withSafeDetails: universe 123 multi \(1\) -report_test.go:\d+: \*withstack.withStack \(top exception\) -\*domains\.withDomain: error domain: "thisdomain" \(2\) -\*report_test\.myWrapper -\(check the extra data payloads\)$` + expectedLongMessage := `^ +report_test.go:\d+: × +\(1\) +Wraps: \(2\) error domain: \"thisdomain\" +Wraps: \(3\) attached stack trace + -- stack trace: + | github.com/cockroachdb/errors/report_test.TestReport + | \t[^:]*report/report_test.go:\d+ + | testing.tRunner + | \t.*src/testing/testing.go:\d+ + | runtime.goexit + | \t[^:]*:\d+ +Wraps: \(4\) universe 123 multi + | line +Wraps: \(5\) × +Error types: \(1\) *report_test.myWrapper \(2\) *domains.withDomain \(3\) *withstack.withStack \(4\) *safedetails.withSafeDetails \(5\) *errors.errorString +-- report composition: +*errors.errorString +*safedetails.withSafeDetails: universe 123 multi +report_test.go:82: *withstack.withStack \(top exception\) +*domains.withDomain: error domain: \"thisdomain\" +*report_test.myWrapper$` tt.CheckRegexpEqual(e.Message, expectedLongMessage) }) @@ -112,15 +128,6 @@ github.com/cockroachdb/errors/report_test/*report_test.myWrapper (some/previous/ ` types := fmt.Sprintf("%s", e.Extra["error types"]) tt.CheckEqual(types, expectedTypes) - - expectedDetail := `universe 123 multi - line` - detail := fmt.Sprintf("%s", e.Extra["1: details"]) - tt.CheckEqual(strings.TrimSpace(detail), expectedDetail) - - expectedDetail = string(thisDomain) - detail = fmt.Sprintf("%s", e.Extra["2: details"]) - tt.CheckEqual(strings.TrimSpace(detail), expectedDetail) }) hasStack := false diff --git a/report/reportables.go b/report/reportables.go index 43060f0..1795c05 100644 --- a/report/reportables.go +++ b/report/reportables.go @@ -18,7 +18,7 @@ import ( "bytes" "fmt" - "github.com/cockroachdb/sentry-go" + "github.com/getsentry/sentry-go" ) // StackTrace is an object suitable for inclusion in errors that can diff --git a/report_api.go b/report_api.go index c346990..1ac7e67 100644 --- a/report_api.go +++ b/report_api.go @@ -16,7 +16,7 @@ package errors import ( "github.com/cockroachdb/errors/report" - "github.com/cockroachdb/sentry-go" + "github.com/getsentry/sentry-go" ) // BuildSentryReport builds the components of a sentry report. This @@ -32,7 +32,7 @@ import ( // Title: (1) some prefix in bold (2) one line for a stack trace // (3) a single-line subtitle // -// (4) the tags, as a tag soup (concatenated in a single paragrah, +// (4) the tags, as a tag soup (concatenated in a single paragraph, // unsorted) // // (5) a "message" @@ -57,7 +57,7 @@ import ( // (3) the Value field of the 1st Exception object, if any, unwrapped as a single line // (4) the Tags field // (5) the Message field -// (7) the Type field (same as (1) for 1st execption) +// (7) the Type field (same as (1) for 1st exception) // (8) the Value field (same as (3) for 1st exception) // (9) the Stacktrace field (input to (2) on 1st exception) // (10) the other fields on the Event object diff --git a/testutils/simplecheck.go b/testutils/simplecheck.go index 413b8be..ff83f2c 100644 --- a/testutils/simplecheck.go +++ b/testutils/simplecheck.go @@ -17,7 +17,7 @@ package testutils import ( "bytes" "fmt" - "io/ioutil" + "os" "reflect" "regexp" "runtime" @@ -127,6 +127,13 @@ func (t *T) CheckEqual(val, ref interface{}) { } } +func (t *T) CheckContains(s, substr string) { + t.Helper() + if !strings.Contains(s, substr) { + t.failWithf(false, "value does not contain substring\n got: %s\\nexpected: %s", s, substr) + } +} + // CheckEqual checks that the string value is equal to some reference. func (t *T) CheckStringEqual(val, ref string) { t.Helper() @@ -205,7 +212,7 @@ func fileContext(filename string, line, context int) ([][]byte, int) { defer fileCacheLock.Unlock() lines, ok := fileCache[filename] if !ok { - data, err := ioutil.ReadFile(filename) + data, err := os.ReadFile(filename) if err != nil { // cache errors as nil slice: code below handles it correctly // otherwise when missing the source or running as a different user, we try diff --git a/withstack/reportable.go b/withstack/reportable.go index 19577ae..f3ff87e 100644 --- a/withstack/reportable.go +++ b/withstack/reportable.go @@ -23,7 +23,7 @@ import ( "strings" "github.com/cockroachdb/errors/errbase" - "github.com/cockroachdb/sentry-go" + "github.com/getsentry/sentry-go" pkgErr "github.com/pkg/errors" )