clientv3: Avoid timeouts in ordering test

This commit is contained in:
Joe Betz
2018-04-16 15:28:00 -07:00
committed by Gyuho Lee
parent bb032f3e5f
commit 66e65cd660
4 changed files with 24 additions and 13 deletions

View File

@@ -67,13 +67,14 @@ func TestRoundRobinBalancedResolvableNoFailover(t *testing.T) {
defer rsv.Close()
rsv.InitialAddrs(resolvedAddrs)
name := genName()
cfg := Config{
Policy: picker.RoundrobinBalanced,
Name: genName(),
Name: name,
Logger: zap.NewExample(),
}
rrb := New(cfg)
conn, err := grpc.Dial(fmt.Sprintf("endpoint://nofailover/*"), grpc.WithInsecure(), grpc.WithBalancerName(rrb.Name()))
RegisterBuilder(cfg)
conn, err := grpc.Dial(fmt.Sprintf("endpoint://nofailover/*"), grpc.WithInsecure(), grpc.WithBalancerName(name))
if err != nil {
t.Fatalf("failed to dial mock server: %v", err)
}
@@ -129,13 +130,14 @@ func TestRoundRobinBalancedResolvableFailoverFromServerFail(t *testing.T) {
defer rsv.Close()
rsv.InitialAddrs(resolvedAddrs)
name := genName()
cfg := Config{
Policy: picker.RoundrobinBalanced,
Name: genName(),
Name: name,
Logger: zap.NewExample(),
}
rrb := New(cfg)
conn, err := grpc.Dial(fmt.Sprintf("endpoint://serverfail/mock.server"), grpc.WithInsecure(), grpc.WithBalancerName(rrb.Name()))
RegisterBuilder(cfg)
conn, err := grpc.Dial(fmt.Sprintf("endpoint://serverfail/mock.server"), grpc.WithInsecure(), grpc.WithBalancerName(name))
if err != nil {
t.Fatalf("failed to dial mock server: %s", err)
}
@@ -242,13 +244,14 @@ func TestRoundRobinBalancedResolvableFailoverFromRequestFail(t *testing.T) {
defer rsv.Close()
rsv.InitialAddrs(resolvedAddrs)
name := genName()
cfg := Config{
Policy: picker.RoundrobinBalanced,
Name: genName(),
Name: name,
Logger: zap.NewExample(),
}
rrb := New(cfg)
conn, err := grpc.Dial(fmt.Sprintf("endpoint://requestfail/mock.server"), grpc.WithInsecure(), grpc.WithBalancerName(rrb.Name()))
RegisterBuilder(cfg)
conn, err := grpc.Dial(fmt.Sprintf("endpoint://requestfail/mock.server"), grpc.WithInsecure(), grpc.WithBalancerName(name))
if err != nil {
t.Fatalf("failed to dial mock server: %s", err)
}

View File

@@ -43,6 +43,8 @@ func NewOrderViolationSwitchEndpointClosure(c clientv3.Client) OrderViolationFun
// set available endpoints back to all endpoints in to ensure
// the client has access to all the endpoints.
c.SetEndpoints(eps...)
// give enough time for operation
time.Sleep(1 * time.Second)
violationCount++
return nil
}

View File

@@ -142,8 +142,9 @@ func TestUnresolvableOrderViolation(t *testing.T) {
if err != nil {
t.Fatal(err)
}
clus.Members[3].WaitStarted(t)
cli.SetEndpoints(clus.Members[3].GRPCAddr())
time.Sleep(1 * time.Second) // give enough time for operation
time.Sleep(5 * time.Second) // give enough time for operation
_, err = OrderingKv.Get(ctx, "foo", clientv3.WithSerializable())
if err != ErrNoGreaterRev {

View File

@@ -950,6 +950,13 @@ func (m *member) Launch() error {
}
func (m *member) WaitOK(t *testing.T) {
m.WaitStarted(t)
for m.s.Leader() == 0 {
time.Sleep(tickDuration)
}
}
func (m *member) WaitStarted(t *testing.T) {
cc := MustNewHTTPClient(t, []string{m.URL()}, m.ClientTLSInfo)
kapi := client.NewKeysAPI(cc)
for {
@@ -962,9 +969,7 @@ func (m *member) WaitOK(t *testing.T) {
cancel()
break
}
for m.s.Leader() == 0 {
time.Sleep(tickDuration)
}
}
func (m *member) URL() string { return m.ClientURLs[0].String() }