From 163ea3f5c53c168102dd797aa9dc3807631e7928 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Fri, 13 Feb 2015 10:45:11 -0800 Subject: [PATCH] integration: wait for slow travis --- integration/cluster_test.go | 18 ++++++++++++++++++ integration/member_test.go | 7 ++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/integration/cluster_test.go b/integration/cluster_test.go index b2812f815..a1ac03340 100644 --- a/integration/cluster_test.go +++ b/integration/cluster_test.go @@ -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() { diff --git a/integration/member_test.go b/integration/member_test.go index 44bb7958a..161d3d97f 100644 --- a/integration/member_test.go +++ b/integration/member_test.go @@ -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) } } }