github.com/kaisenlinux/docker@v0.0.0-20230510090727-ea55db55fac7/swarmkit/testutils/grpc.go (about) 1 package testutils 2 3 import ( 4 "google.golang.org/grpc/codes" 5 "google.golang.org/grpc/status" 6 ) 7 8 // ErrorDesc returns the error description of err if it was produced by the rpc system. 9 // Otherwise, it returns err.Error() or empty string when err is nil. 10 func ErrorDesc(err error) string { 11 if s, ok := status.FromError(err); ok { 12 return s.Message() 13 } 14 return err.Error() 15 } 16 17 // ErrorCode returns the error code for err if it was produced by the rpc system. 18 // Otherwise, it returns codes.Unknown. 19 func ErrorCode(err error) codes.Code { 20 if s, ok := status.FromError(err); ok { 21 return s.Code() 22 } 23 return codes.Unknown 24 }