@@ -18,10 +18,13 @@ func parallel(p int) (chan func(), func()) {
1818 wg .Add (p )
1919 for i := 0 ; i < p ; i ++ {
2020 go func () {
21+ defer func () {
22+ recover ()
23+ wg .Done ()
24+ }()
2125 for fn := range ch {
2226 fn ()
2327 }
24- wg .Done ()
2528 }()
2629 }
2730 return ch , func () {
@@ -120,7 +123,7 @@ func testSETGET(t *testing.T, client Client, csc bool) {
120123 jobs <- func () {
121124 val , err := client .Do (ctx , client .B ().Set ().Key (key ).Value (kvs [key ]).Build ()).ToString ()
122125 if err != nil || val != "OK" {
123- t .Fatalf ("unexpected set response %v %v" , val , err )
126+ t .Errorf ("unexpected set response %v %v" , val , err )
124127 }
125128 }
126129 }
@@ -133,7 +136,7 @@ func testSETGET(t *testing.T, client Client, csc bool) {
133136 jobs <- func () {
134137 val , err := client .Do (ctx , client .B ().Get ().Key (key ).Build ()).ToString ()
135138 if v , ok := kvs [key ]; ! ((ok && val == v ) || (! ok && IsRedisNil (err ))) {
136- t .Fatalf ("unexpected get response %v %v %v" , val , err , ok )
139+ t .Errorf ("unexpected get response %v %v %v" , val , err , ok )
137140 }
138141 }
139142 }
@@ -148,7 +151,7 @@ func testSETGET(t *testing.T, client Client, csc bool) {
148151 resp := client .DoCache (ctx , client .B ().Get ().Key (key ).Cache (), time .Minute )
149152 val , err := resp .ToString ()
150153 if v , ok := kvs [key ]; ! ((ok && val == v ) || (! ok && IsRedisNil (err ))) {
151- t .Fatalf ("unexpected csc get response %v %v %v" , val , err , ok )
154+ t .Errorf ("unexpected csc get response %v %v %v" , val , err , ok )
152155 }
153156 if resp .IsCacheHit () {
154157 atomic .AddInt64 (& hits , 1 )
@@ -175,23 +178,25 @@ func testSETGET(t *testing.T, client Client, csc bool) {
175178 jobs <- func () {
176179 val , err := client .Do (ctx , client .B ().Del ().Key (key ).Build ()).AsInt64 ()
177180 if _ , ok := kvs [key ]; ! ((val == 1 && ok ) || (val == 0 && ! ok )) {
178- t .Fatalf ("unexpected del response %v %v %v" , val , err , ok )
181+ t .Errorf ("unexpected del response %v %v %v" , val , err , ok )
179182 }
180183 }
181184 }
182185 wait ()
183186
187+ time .Sleep (time .Second )
188+
184189 t .Logf ("testing client side caching after delete\n " )
185190 jobs , wait = parallel (para )
186191 for i := 0 ; i < keys / 100 ; i ++ {
187192 key := strconv .Itoa (i )
188193 jobs <- func () {
189194 resp := client .DoCache (ctx , client .B ().Get ().Key (key ).Cache (), time .Minute )
190195 if ! IsRedisNil (resp .Error ()) {
191- t .Fatalf ("unexpected csc get response after delete %v" , resp )
196+ t .Errorf ("unexpected csc get response after delete %v" , resp )
192197 }
193198 if resp .IsCacheHit () {
194- t .Fatalf ("unexpected csc cache hit after delete" )
199+ t .Errorf ("unexpected csc cache hit after delete" )
195200 }
196201 }
197202 }
@@ -320,6 +325,8 @@ func testMultiSETGET(t *testing.T, client Client, csc bool) {
320325 }
321326 wait ()
322327
328+ time .Sleep (time .Second )
329+
323330 t .Logf ("testing client side caching after delete\n " )
324331 jobs , wait = parallel (para )
325332 for i := 0 ; i < keys / 100 ; i += batch {
@@ -415,7 +422,9 @@ func testMultiSETGETHelpers(t *testing.T, client Client, csc bool) {
415422 t .Fatalf ("unexpecetd err %v\n " , err )
416423 }
417424 }
425+
418426 time .Sleep (time .Second )
427+
419428 t .Logf ("testing client side caching after delete\n " )
420429 resp , err = MGetCache (client , ctx , time .Minute , cmdKeys )
421430 if err != nil {
0 commit comments