integration: wait for slow travis

This commit is contained in:
Xiang Li 2015-02-13 10:45:11 -08:00
parent c16cc3a6a3
commit 163ea3f5c5
2 changed files with 22 additions and 3 deletions

View File

@ -547,6 +547,24 @@ func (m *member) Launch() error {
return nil
}
func (m *member) WaitOK(t *testing.T) {
cc := mustNewHTTPClient(t, []string{m.URL()})
kapi := client.NewKeysAPI(cc)
for {
ctx, cancel := context.WithTimeout(context.Background(), requestTimeout)
_, err := kapi.Get(ctx, "/")
if err != nil {
time.Sleep(tickDuration)
continue
}
cancel()
break
}
for m.s.Leader() == 0 {
time.Sleep(tickDuration)
}
}
func (m *member) URL() string { return m.ClientURLs[0].String() }
func (m *member) Pause() {

View File

@ -86,6 +86,7 @@ func TestSnapshotAndRestartMember(t *testing.T) {
m.SnapCount = 100
m.Launch()
defer m.Terminate(t)
m.WaitOK(t)
resps := make([]*client.Response, 120)
var err error
@ -96,7 +97,7 @@ func TestSnapshotAndRestartMember(t *testing.T) {
key := fmt.Sprintf("foo%d", i)
resps[i], err = kapi.Create(ctx, "/"+key, "bar", -1)
if err != nil {
t.Fatalf("create on %s error: %v", m.URL(), err)
t.Fatalf("#%d: create on %s error: %v", i, m.URL(), err)
}
cancel()
}
@ -110,12 +111,12 @@ func TestSnapshotAndRestartMember(t *testing.T) {
key := fmt.Sprintf("foo%d", i)
resp, err := kapi.Get(ctx, "/"+key)
if err != nil {
t.Fatalf("get on %s error: %v", m.URL(), err)
t.Fatalf("#%d: get on %s error: %v", i, m.URL(), err)
}
cancel()
if !reflect.DeepEqual(resp.Node, resps[i].Node) {
t.Errorf("#%d: node = %v, want %v", resp.Node, resps[i].Node)
t.Errorf("#%d: node = %v, want %v", i, resp.Node, resps[i].Node)
}
}
}