@@ -3,6 +3,7 @@ package tarantool_test
33import (
44 "context"
55 "encoding/binary"
6+ "errors"
67 "fmt"
78 "io"
89 "log"
@@ -48,7 +49,8 @@ type Member struct {
4849 Val uint
4950}
5051
51- var contextDoneErrRegexp = regexp .MustCompile (`^context is done \(request ID [0-9]+\)$` )
52+ var contextDoneErrRegexp = regexp .MustCompile (
53+ fmt .Sprintf (`^context is done \(request ID [0-9]+\) \(%s\)$` , "context canceled" ))
5254
5355func (m * Member ) EncodeMsgpack (e * msgpack.Encoder ) error {
5456 if err := e .EncodeArrayLen (2 ); err != nil {
@@ -2737,6 +2739,8 @@ func TestClientRequestObjectsWithPassedCanceledContext(t *testing.T) {
27372739 if ! contextDoneErrRegexp .Match ([]byte (err .Error ())) {
27382740 t .Fatalf ("Failed to catch an error from done context" )
27392741 }
2742+ // Checking that we could use errors.Is to get known about error.
2743+ require .True (t , errors .Is (err , context .Canceled ))
27402744 if resp != nil {
27412745 t .Fatalf ("Response is not nil after the occurred error" )
27422746 }
@@ -3298,6 +3302,7 @@ func TestClientIdRequestObjectWithPassedCanceledContext(t *testing.T) {
32983302 resp , err := conn .Do (req ).Get ()
32993303 require .Nilf (t , resp , "Response is empty" )
33003304 require .NotNilf (t , err , "Error is not empty" )
3305+ require .True (t , errors .Is (err , context .Canceled ))
33013306 require .Regexp (t , contextDoneErrRegexp , err .Error ())
33023307}
33033308
0 commit comments