Browse Source

clientv3/integration: wait for two request timeouts in txn tests

Read only txns and Get may timeout once if the leader is lost.
Anthony Romano 9 years ago
parent
commit
a50c707050
1 changed files with 3 additions and 3 deletions
  1. 3 3
      clientv3/integration/txn_test.go

+ 3 - 3
clientv3/integration/txn_test.go

@@ -73,6 +73,7 @@ func TestTxnWriteFail(t *testing.T) {
 	}()
 	}()
 
 
 	go func() {
 	go func() {
+		defer close(getc)
 		select {
 		select {
 		case <-time.After(5 * time.Second):
 		case <-time.After(5 * time.Second):
 			t.Fatalf("timed out waiting for txn fail")
 			t.Fatalf("timed out waiting for txn fail")
@@ -86,11 +87,10 @@ func TestTxnWriteFail(t *testing.T) {
 		if len(gresp.Kvs) != 0 {
 		if len(gresp.Kvs) != 0 {
 			t.Fatalf("expected no keys, got %v", gresp.Kvs)
 			t.Fatalf("expected no keys, got %v", gresp.Kvs)
 		}
 		}
-		close(getc)
 	}()
 	}()
 
 
 	select {
 	select {
-	case <-time.After(5 * time.Second):
+	case <-time.After(2 * clus.Members[1].ServerConfig.ReqTimeout()):
 		t.Fatalf("timed out waiting for get")
 		t.Fatalf("timed out waiting for get")
 	case <-getc:
 	case <-getc:
 	}
 	}
@@ -125,7 +125,7 @@ func TestTxnReadRetry(t *testing.T) {
 	clus.Members[0].Restart(t)
 	clus.Members[0].Restart(t)
 	select {
 	select {
 	case <-donec:
 	case <-donec:
-	case <-time.After(5 * time.Second):
+	case <-time.After(2 * clus.Members[1].ServerConfig.ReqTimeout()):
 		t.Fatalf("waited too long")
 		t.Fatalf("waited too long")
 	}
 	}
 }
 }