hack(tests/discovery): don't use go-etcd for watch

go-etcd has a bug in the watcher that holds open a goroutine. Avoid
goetcd for this operation until it is fixed.
This commit is contained in:
Brandon Philips 2014-02-06 20:18:09 -08:00
parent 5f124166eb
commit bfbc539321

View File

@ -177,17 +177,12 @@ func TestDiscoverySecondPeerUp(t *testing.T) {
} }
wc := goetcd.NewClient([]string{s.URL()}) wc := goetcd.NewClient([]string{s.URL()})
_, err = wc.Set("test", "0", 0) testResp, err := wc.Set("test", "0", 0)
if err != nil { if err != nil {
t.Fatalf("Couldn't set a test key on the leader %v", err) t.Fatalf("Couldn't set a test key on the leader %v", err)
} }
receiver := make(chan *goetcd.Response)
stop := make(chan bool)
go wc.Watch("_etcd/registry/3/node1", 0, false, receiver, stop)
v = url.Values{} v = url.Values{}
v.Set("value", u) v.Set("value", u)
resp, err = etcdtest.PutForm(fmt.Sprintf("%s%s", s.URL(), "/v2/keys/_etcd/registry/3/ETCDTEST"), v) resp, err = etcdtest.PutForm(fmt.Sprintf("%s%s", s.URL(), "/v2/keys/_etcd/registry/3/ETCDTEST"), v)
@ -199,10 +194,10 @@ func TestDiscoverySecondPeerUp(t *testing.T) {
} }
defer stopServer(proc) defer stopServer(proc)
// Test to ensure the machine registered iteslf watch := fmt.Sprintf("%s%s%d", s.URL(), "/v2/keys/_etcd/registry/3/node1?wait=true&waitIndex=", testResp.EtcdIndex)
watchResp := <-receiver resp, err = http.Get(watch)
if watchResp.Node.Value != "http://127.0.0.1:7001" { if err != nil {
t.Fatalf("Second peer didn't register! %s", watchResp.Node.Value) t.Fatal(err.Error())
} }
// TODO(bp): need to have a better way of knowing a machine is up // TODO(bp): need to have a better way of knowing a machine is up