Browse Source

add more test for subset

kevin 4 years ago
parent
commit
760d3c8c4b
3 changed files with 8 additions and 19 deletions
  1. 1 1
      readme.md
  2. 1 1
      rpcx/internal/resolver/resolver.go
  3. 6 17
      rpcx/internal/resolver/subset_test.go

+ 1 - 1
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

+ 1 - 1
rpcx/internal/resolver/resolver.go

@@ -12,7 +12,7 @@ import (
 const (
 	DiscovScheme = "discov"
 	EndpointSep  = ","
-	subsetSize   = 36
+	subsetSize   = 32
 )
 
 var builder discovBuilder

+ 6 - 17
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)
-}