From a3743a79bc71e05f1fab4394638bbff40afe96b3 Mon Sep 17 00:00:00 2001 From: Msk <118117161+Mskxn@users.noreply.github.com> Date: Mon, 10 Apr 2023 09:16:39 +0800 Subject: [PATCH] tests: use separate errc for each case in TestTxnPanics Signed-off-by: Msk <118117161+Mskxn@users.noreply.github.com> --- client/v3/txn_test.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/client/v3/txn_test.go b/client/v3/txn_test.go index 0ee6e71d6..de7aec3b8 100644 --- a/client/v3/txn_test.go +++ b/client/v3/txn_test.go @@ -27,8 +27,7 @@ func TestTxnPanics(t *testing.T) { kv := &kv{} - errc := make(chan string, 6) - df := func() { + df := func(errc chan string) { if s := recover(); s != nil { errc <- s.(string) } @@ -38,53 +37,53 @@ func TestTxnPanics(t *testing.T) { op := OpPut("foo", "bar") tests := []struct { - f func() + f func(chan string) err string }{ { - f: func() { - defer df() + f: func(errc chan string) { + defer df(errc) kv.Txn(context.TODO()).If(cmp).If(cmp) }, err: "cannot call If twice!", }, { - f: func() { - defer df() + f: func(errc chan string) { + defer df(errc) kv.Txn(context.TODO()).Then(op).If(cmp) }, err: "cannot call If after Then!", }, { - f: func() { - defer df() + f: func(errc chan string) { + defer df(errc) kv.Txn(context.TODO()).Else(op).If(cmp) }, err: "cannot call If after Else!", }, { - f: func() { - defer df() + f: func(errc chan string) { + defer df(errc) kv.Txn(context.TODO()).Then(op).Then(op) }, err: "cannot call Then twice!", }, { - f: func() { - defer df() + f: func(errc chan string) { + defer df(errc) kv.Txn(context.TODO()).Else(op).Then(op) }, err: "cannot call Then after Else!", }, { - f: func() { - defer df() + f: func(errc chan string) { + defer df(errc) kv.Txn(context.TODO()).Else(op).Else(op) }, @@ -93,7 +92,8 @@ func TestTxnPanics(t *testing.T) { } for i, tt := range tests { - go tt.f() + errc := make(chan string, 1) + go tt.f(errc) select { case err := <-errc: if err != tt.err {