From: Lucas Di Pentima Date: Thu, 22 Jul 2021 20:30:51 +0000 (-0300) Subject: 16665: Wraps error type to be able to differentiate it in a case switch. X-Git-Tag: 2.3.0~130^2~1 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/53f54e1b9f424b391c8b4d2aac3c4ae8ea4fc198 16665: Wraps error type to be able to differentiate it in a case switch. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- diff --git a/sdk/go/keepclient/keepclient.go b/sdk/go/keepclient/keepclient.go index 2cd6bb4d43..3bc6f4afcd 100644 --- a/sdk/go/keepclient/keepclient.go +++ b/sdk/go/keepclient/keepclient.go @@ -69,11 +69,11 @@ type ErrNotFound struct { multipleResponseError } -type InsufficientReplicasError error +type InsufficientReplicasError struct{ error } -type OversizeBlockError error +type OversizeBlockError struct{ error } -var ErrOversizeBlock = OversizeBlockError(errors.New("Exceeded maximum block size (" + strconv.Itoa(BLOCKSIZE) + ")")) +var ErrOversizeBlock = OversizeBlockError{error: errors.New("Exceeded maximum block size (" + strconv.Itoa(BLOCKSIZE) + ")")} var MissingArvadosApiHost = errors.New("Missing required environment variable ARVADOS_API_HOST") var MissingArvadosApiToken = errors.New("Missing required environment variable ARVADOS_API_TOKEN") var InvalidLocatorError = errors.New("Invalid locator") diff --git a/sdk/go/keepclient/support.go b/sdk/go/keepclient/support.go index a8c82aac0e..633ec18968 100644 --- a/sdk/go/keepclient/support.go +++ b/sdk/go/keepclient/support.go @@ -255,7 +255,7 @@ func (kc *KeepClient) BlockWrite(ctx context.Context, req arvados.BlockWriteOpti msg += resp + "; " } msg = msg[:len(msg)-2] - return resp, InsufficientReplicasError(errors.New(msg)) + return resp, InsufficientReplicasError{error: errors.New(msg)} } break } diff --git a/services/keepproxy/keepproxy_test.go b/services/keepproxy/keepproxy_test.go index f02971d61b..4bdb420202 100644 --- a/services/keepproxy/keepproxy_test.go +++ b/services/keepproxy/keepproxy_test.go @@ -7,7 +7,6 @@ package main import ( "bytes" "crypto/md5" - "errors" "fmt" "io/ioutil" "math/rand" @@ -442,7 +441,7 @@ func (s *ServerRequiredSuite) TestPutAskGetForbidden(c *C) { hash2, rep, err := kc.PutB([]byte("bar")) c.Check(hash2, Equals, "") c.Check(rep, Equals, 0) - c.Check(err, FitsTypeOf, keepclient.InsufficientReplicasError(errors.New(""))) + c.Check(err, FitsTypeOf, keepclient.InsufficientReplicasError{}) blocklen, _, err := kc.Ask(hash) c.Check(err, FitsTypeOf, &keepclient.ErrNotFound{}) @@ -495,7 +494,7 @@ func testPermission(c *C, admin bool, perm arvados.UploadDownloadPermission) { } else { c.Check(hash2, Equals, "") c.Check(rep, Equals, 0) - c.Check(err, FitsTypeOf, keepclient.InsufficientReplicasError(errors.New(""))) + c.Check(err, FitsTypeOf, keepclient.InsufficientReplicasError{}) } logbuf.Reset() }