From 53f54e1b9f424b391c8b4d2aac3c4ae8ea4fc198 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Thu, 22 Jul 2021 17:30:51 -0300 Subject: [PATCH] 16665: Wraps error type to be able to differentiate it in a case switch. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- sdk/go/keepclient/keepclient.go | 6 +++--- sdk/go/keepclient/support.go | 2 +- services/keepproxy/keepproxy_test.go | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) 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() } -- 2.30.2