From 760d3c8c4b27db97c0d614c20c465d317b5139da Mon Sep 17 00:00:00 2001 From: kevin Date: Sat, 8 Aug 2020 15:25:38 +0800 Subject: [PATCH] add more test for subset --- readme.md | 2 +- rpcx/internal/resolver/resolver.go | 2 +- rpcx/internal/resolver/subset_test.go | 23 ++++++----------------- 3 files changed, 8 insertions(+), 19 deletions(-) diff --git a/readme.md b/readme.md index d45a0b8c..a002329b 100644 --- a/readme.md +++ b/readme.md @@ -150,7 +150,7 @@ go-zero是一个集成了各种工程实践的包含web和rpc框架,有如下 go run greet.go -f etc/greet-api.json ``` - 默认侦听在8888端口,可以通过curl请求: + 默认侦听在8888端口(可以在配置文件里修改),可以通过curl请求: ```shell ➜ go-zero git:(master) curl -w "\ncode: %{http_code}\n" http://localhost:8888/greet/from/kevin diff --git a/rpcx/internal/resolver/resolver.go b/rpcx/internal/resolver/resolver.go index fc4f089d..7c2d0b4a 100644 --- a/rpcx/internal/resolver/resolver.go +++ b/rpcx/internal/resolver/resolver.go @@ -12,7 +12,7 @@ import ( const ( DiscovScheme = "discov" EndpointSep = "," - subsetSize = 36 + subsetSize = 32 ) var builder discovBuilder diff --git a/rpcx/internal/resolver/subset_test.go b/rpcx/internal/resolver/subset_test.go index f9410a7a..50807e8e 100644 --- a/rpcx/internal/resolver/subset_test.go +++ b/rpcx/internal/resolver/subset_test.go @@ -37,6 +37,12 @@ func TestSubset(t *testing.T) { m := make(map[interface{}]int) for i := 0; i < 1000; i++ { set := subset(append([]string(nil), vals...), test.sub) + if test.sub < test.set { + assert.Equal(t, test.sub, len(set)) + } else { + assert.Equal(t, test.set, len(set)) + } + for _, val := range set { m[val]++ } @@ -46,20 +52,3 @@ func TestSubset(t *testing.T) { }) } } - -func TestSubsetLess(t *testing.T) { - var vals []string - for i := 0; i < 100; i++ { - vals = append(vals, strconv.Itoa(i)) - } - - m := make(map[interface{}]int) - for i := 0; i < 1000; i++ { - set := subset(append([]string(nil), vals...), 200) - for _, val := range set { - m[val]++ - } - } - - assert.True(t, mathx.CalcEntropy(m) > 0.95) -}