github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/pgwire/pgerror/wrap_test.go (about) 1 // Copyright 2019 The Cockroach Authors. 2 // 3 // Use of this software is governed by the Business Source License 4 // included in the file licenses/BSL.txt. 5 // 6 // As of the Change Date specified in that file, in accordance with 7 // the Business Source License, use of this software will be governed 8 // by the Apache License, Version 2.0, included in the file 9 // licenses/APL.txt. 10 11 package pgerror_test 12 13 import ( 14 "testing" 15 16 "github.com/cockroachdb/cockroach/pkg/roachpb" 17 "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" 18 "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" 19 "github.com/cockroachdb/errors" 20 ) 21 22 func TestWrap(t *testing.T) { 23 testData := []struct { 24 err error 25 }{ 26 {errors.New("woo")}, 27 {&roachpb.TransactionRetryWithProtoRefreshError{}}, 28 {&roachpb.AmbiguousResultError{}}, 29 } 30 31 for i, test := range testData { 32 werr := pgerror.Wrap(test.err, pgcode.Syntax, "woo") 33 34 if !errors.Is(werr, test.err) { 35 t.Errorf("%d: original error not preserved; expected %+v, got %+v", i, test.err, werr) 36 } 37 } 38 }