mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
integration: use timeout transport when launching cluster
This makes it do the same behavior as etcdmain does.
This commit is contained in:
parent
19ccdbee18
commit
7a1d147795
@ -34,7 +34,9 @@ import (
|
||||
"github.com/coreos/etcd/etcdserver"
|
||||
"github.com/coreos/etcd/etcdserver/etcdhttp"
|
||||
"github.com/coreos/etcd/etcdserver/etcdhttp/httptypes"
|
||||
"github.com/coreos/etcd/pkg/transport"
|
||||
"github.com/coreos/etcd/pkg/types"
|
||||
"github.com/coreos/etcd/rafthttp"
|
||||
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context"
|
||||
)
|
||||
@ -423,13 +425,13 @@ func mustNewMember(t *testing.T, name string) *member {
|
||||
t.Fatal(err)
|
||||
}
|
||||
m.NewCluster = true
|
||||
m.Transport = newTransport()
|
||||
m.Transport = mustNewTransport(t)
|
||||
return m
|
||||
}
|
||||
|
||||
// Clone returns a member with the same server configuration. The returned
|
||||
// member will not set PeerListeners and ClientListeners.
|
||||
func (m *member) Clone() *member {
|
||||
func (m *member) Clone(t *testing.T) *member {
|
||||
mm := &member{}
|
||||
mm.ServerConfig = m.ServerConfig
|
||||
|
||||
@ -452,7 +454,7 @@ func (m *member) Clone() *member {
|
||||
// this should never fail
|
||||
panic(err)
|
||||
}
|
||||
mm.Transport = newTransport()
|
||||
mm.Transport = mustNewTransport(t)
|
||||
return mm
|
||||
}
|
||||
|
||||
@ -524,18 +526,18 @@ func (m *member) Terminate(t *testing.T) {
|
||||
}
|
||||
|
||||
func mustNewHTTPClient(t *testing.T, eps []string) client.HTTPClient {
|
||||
cc, err := client.NewHTTPClient(newTransport(), eps)
|
||||
cc, err := client.NewHTTPClient(mustNewTransport(t), eps)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return cc
|
||||
}
|
||||
|
||||
func newTransport() *http.Transport {
|
||||
tr := &http.Transport{}
|
||||
// TODO: need the support of graceful stop in Sender to remove this
|
||||
tr.DisableKeepAlives = true
|
||||
tr.Dial = (&net.Dialer{Timeout: 100 * time.Millisecond}).Dial
|
||||
func mustNewTransport(t *testing.T) *http.Transport {
|
||||
tr, err := transport.NewTimeoutTransport(transport.TLSInfo{}, rafthttp.ConnReadTimeout, rafthttp.ConnWriteTimeout)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return tr
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ func TestRestartMember(t *testing.T) {
|
||||
func TestLaunchDuplicateMemberShouldFail(t *testing.T) {
|
||||
size := 3
|
||||
c := NewCluster(t, size)
|
||||
m := c.Members[0].Clone()
|
||||
m := c.Members[0].Clone(t)
|
||||
var err error
|
||||
m.DataDir, err = ioutil.TempDir(os.TempDir(), "etcd")
|
||||
if err != nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user