Browse Source

clientv3/integration: match context errors to stopped server

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
Gyu-Ho Lee 8 years ago
parent
commit
636815909d
2 changed files with 11 additions and 11 deletions
  1. 7 7
      clientv3/integration/kv_test.go
  2. 4 4
      clientv3/integration/lease_test.go

+ 7 - 7
clientv3/integration/kv_test.go

@@ -442,8 +442,8 @@ func TestKVGetErrConnClosed(t *testing.T) {
 	go func() {
 	go func() {
 		defer close(donec)
 		defer close(donec)
 		_, err := cli.Get(context.TODO(), "foo")
 		_, err := cli.Get(context.TODO(), "foo")
-		if err != nil && err != grpc.ErrClientConnClosing {
-			t.Fatalf("expected %v, got %v", grpc.ErrClientConnClosing, err)
+		if err != nil && err != context.Canceled && err != grpc.ErrClientConnClosing {
+			t.Fatalf("expected %v or %v, got %v", context.Canceled, grpc.ErrClientConnClosing, err)
 		}
 		}
 	}()
 	}()
 
 
@@ -473,8 +473,8 @@ func TestKVNewAfterClose(t *testing.T) {
 
 
 	donec := make(chan struct{})
 	donec := make(chan struct{})
 	go func() {
 	go func() {
-		if _, err := cli.Get(context.TODO(), "foo"); err != grpc.ErrClientConnClosing {
-			t.Fatalf("expected %v, got %v", grpc.ErrClientConnClosing, err)
+		if _, err := cli.Get(context.TODO(), "foo"); err != context.Canceled {
+			t.Fatalf("expected %v, got %v", context.Canceled, err)
 		}
 		}
 		close(donec)
 		close(donec)
 	}()
 	}()
@@ -791,7 +791,7 @@ func TestKVGetStoppedServerAndClose(t *testing.T) {
 	// this Get fails and triggers an asynchronous connection retry
 	// this Get fails and triggers an asynchronous connection retry
 	_, err := cli.Get(ctx, "abc")
 	_, err := cli.Get(ctx, "abc")
 	cancel()
 	cancel()
-	if !strings.Contains(err.Error(), "context deadline") {
+	if err != nil && err != context.DeadlineExceeded {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 }
 }
@@ -813,14 +813,14 @@ func TestKVPutStoppedServerAndClose(t *testing.T) {
 	// grpc finds out the original connection is down due to the member shutdown.
 	// grpc finds out the original connection is down due to the member shutdown.
 	_, err := cli.Get(ctx, "abc")
 	_, err := cli.Get(ctx, "abc")
 	cancel()
 	cancel()
-	if !strings.Contains(err.Error(), "context deadline") {
+	if err != nil && err != context.DeadlineExceeded {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 
 
 	// this Put fails and triggers an asynchronous connection retry
 	// this Put fails and triggers an asynchronous connection retry
 	_, err = cli.Put(ctx, "abc", "123")
 	_, err = cli.Put(ctx, "abc", "123")
 	cancel()
 	cancel()
-	if !strings.Contains(err.Error(), "context deadline") {
+	if err != nil && err != context.DeadlineExceeded {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 }
 }

+ 4 - 4
clientv3/integration/lease_test.go

@@ -319,8 +319,8 @@ func TestLeaseGrantNewAfterClose(t *testing.T) {
 
 
 	donec := make(chan struct{})
 	donec := make(chan struct{})
 	go func() {
 	go func() {
-		if _, err := cli.Grant(context.TODO(), 5); err != grpc.ErrClientConnClosing {
-			t.Fatalf("expected %v, got %v", grpc.ErrClientConnClosing, err)
+		if _, err := cli.Grant(context.TODO(), 5); err != context.Canceled && err != grpc.ErrClientConnClosing {
+			t.Fatalf("expected %v or %v, got %v", err != context.Canceled, grpc.ErrClientConnClosing, err)
 		}
 		}
 		close(donec)
 		close(donec)
 	}()
 	}()
@@ -351,8 +351,8 @@ func TestLeaseRevokeNewAfterClose(t *testing.T) {
 
 
 	donec := make(chan struct{})
 	donec := make(chan struct{})
 	go func() {
 	go func() {
-		if _, err := cli.Revoke(context.TODO(), leaseID); err != grpc.ErrClientConnClosing {
-			t.Fatalf("expected %v, got %v", grpc.ErrClientConnClosing, err)
+		if _, err := cli.Revoke(context.TODO(), leaseID); err != context.Canceled && err != grpc.ErrClientConnClosing {
+			t.Fatalf("expected %v or %v, got %v", err != context.Canceled, grpc.ErrClientConnClosing, err)
 		}
 		}
 		close(donec)
 		close(donec)
 	}()
 	}()