accelerate tests
This commit is contained in:
@@ -3,10 +3,10 @@ package p2c
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/tal-tech/go-zero/core/logx"
|
"github.com/tal-tech/go-zero/core/logx"
|
||||||
@@ -35,18 +35,22 @@ func TestP2cPicker_Pick(t *testing.T) {
|
|||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
candidates int
|
candidates int
|
||||||
|
threshold float64
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "single",
|
name: "single",
|
||||||
candidates: 1,
|
candidates: 1,
|
||||||
|
threshold: 0.9,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "two",
|
name: "two",
|
||||||
candidates: 2,
|
candidates: 2,
|
||||||
|
threshold: 0.5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "multiple",
|
name: "multiple",
|
||||||
candidates: 100,
|
candidates: 100,
|
||||||
|
threshold: 0.95,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,7 +59,7 @@ func TestP2cPicker_Pick(t *testing.T) {
|
|||||||
t.Run(test.name, func(t *testing.T) {
|
t.Run(test.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
const total = 100000
|
const total = 10000
|
||||||
builder := new(p2cPickerBuilder)
|
builder := new(p2cPickerBuilder)
|
||||||
ready := make(map[resolver.Address]balancer.SubConn)
|
ready := make(map[resolver.Address]balancer.SubConn)
|
||||||
for i := 0; i < test.candidates; i++ {
|
for i := 0; i < test.candidates; i++ {
|
||||||
@@ -77,7 +81,7 @@ func TestP2cPicker_Pick(t *testing.T) {
|
|||||||
err = status.Error(codes.DeadlineExceeded, "deadline")
|
err = status.Error(codes.DeadlineExceeded, "deadline")
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
time.Sleep(time.Millisecond)
|
runtime.Gosched()
|
||||||
done(balancer.DoneInfo{
|
done(balancer.DoneInfo{
|
||||||
Err: err,
|
Err: err,
|
||||||
})
|
})
|
||||||
@@ -93,7 +97,8 @@ func TestP2cPicker_Pick(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
entropy := mathx.CalcEntropy(dist)
|
entropy := mathx.CalcEntropy(dist)
|
||||||
assert.True(t, entropy > .95, fmt.Sprintf("entropy is %f, less than .95", entropy))
|
assert.True(t, entropy > test.threshold, fmt.Sprintf("entropy is %f, less than %f",
|
||||||
|
entropy, test.threshold))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user