From 96cb7af728c65cea4e22354cd1e26a942c3b45c6 Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 21 Oct 2020 15:18:09 +0800 Subject: [PATCH] make tests faster --- core/bloom/bloom_test.go | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/core/bloom/bloom_test.go b/core/bloom/bloom_test.go index 9e584288..de404799 100644 --- a/core/bloom/bloom_test.go +++ b/core/bloom/bloom_test.go @@ -2,18 +2,18 @@ package bloom import ( "testing" + "time" "github.com/alicebob/miniredis" "github.com/stretchr/testify/assert" + "github.com/tal-tech/go-zero/core/lang" "github.com/tal-tech/go-zero/core/stores/redis" ) func TestRedisBitSet_New_Set_Test(t *testing.T) { - s, err := miniredis.Run() - if err != nil { - t.Error("Miniredis could not start") - } - defer s.Close() + s, clean, err := createMiniRedis() + assert.Nil(t, err) + defer clean() store := redis.NewRedis(s.Addr(), redis.NodeType) bitSet := newRedisBitSet(store, "test_key", 1024) @@ -46,11 +46,9 @@ func TestRedisBitSet_New_Set_Test(t *testing.T) { } func TestRedisBitSet_Add(t *testing.T) { - s, err := miniredis.Run() - if err != nil { - t.Error("Miniredis could not start") - } - defer s.Close() + s, clean, err := createMiniRedis() + assert.Nil(t, err) + defer clean() store := redis.NewRedis(s.Addr(), redis.NodeType) filter := New(store, "test_key", 64) @@ -60,3 +58,22 @@ func TestRedisBitSet_Add(t *testing.T) { assert.Nil(t, err) assert.True(t, ok) } + +func createMiniRedis() (r *miniredis.Miniredis, clean func(), err error) { + r, err = miniredis.Run() + if err != nil { + return nil, nil, err + } + + return r, func() { + ch := make(chan lang.PlaceholderType) + go func() { + r.Close() + close(ch) + }() + select { + case <-ch: + case <-time.After(time.Second): + } + }, nil +}