diff --git a/etcd/etcd_start_test.go b/etcd/etcd_start_test.go index 508238258..a9fd53cbf 100644 --- a/etcd/etcd_start_test.go +++ b/etcd/etcd_start_test.go @@ -178,6 +178,10 @@ func TestRunByDiscoveryService(t *testing.T) { afterTest(t) } +func TestRunByDataDir(t *testing.T) { + TestSingleNodeRecovery(t) +} + func buildServer(t *testing.T, c *config.Config, id int64) (e *Server, h *httptest.Server, err error) { e, h = initTestServer(c, id, false) go func() { err = e.Run() }() diff --git a/tests/functional/discovery_test.go b/tests/functional/discovery_test.go index b444adce8..1826b2205 100644 --- a/tests/functional/discovery_test.go +++ b/tests/functional/discovery_test.go @@ -35,59 +35,6 @@ func (g *garbageHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { g.success = true } -// TestDiscoveryDownNoBackupPeersWithDataDir ensures that etcd runs if it is -// started with a bad discovery URL, no backups and valid data dir. -func TestDiscoveryDownNoBackupPeersWithDataDir(t *testing.T) { - etcdtest.RunServer(func(s *server.Server) { - u, ok := s.PeerHost("ETCDTEST") - if !ok { - t.Fatalf("Couldn't find the URL") - } - - // run etcd and connect to ETCDTEST server - proc, err := startServer([]string{"-peers", u}) - if err != nil { - t.Fatal(err.Error()) - } - - // check it runs well - client := http.Client{} - err = assertServerFunctional(client, "http") - if err != nil { - t.Fatal(err.Error()) - } - - // stop etcd, and leave valid data dir for later usage - stopServer(proc) - - g := garbageHandler{t: t} - ts := httptest.NewServer(&g) - defer ts.Close() - - discover := ts.URL + "/v2/keys/_etcd/registry/1" - // connect to ETCDTEST server again with previous data dir - proc, err = startServerWithDataDir([]string{"-discovery", discover}) - if err != nil { - t.Fatal(err.Error()) - } - defer stopServer(proc) - - // TODO(yichengq): it needs some time to do leader election - // improve to get rid of it - time.Sleep(1 * time.Second) - - client = http.Client{} - err = assertServerFunctional(client, "http") - if err != nil { - t.Fatal(err.Error()) - } - - if !g.success { - t.Fatal("Discovery server never called") - } - }) -} - // TestDiscoverySecondPeerFirstNoResponse ensures that if the first etcd // machine stops after heartbeating that the second machine fails too. func TestDiscoverySecondPeerFirstNoResponse(t *testing.T) { @@ -120,52 +67,6 @@ func TestDiscoverySecondPeerFirstNoResponse(t *testing.T) { }) } -// TestDiscoveryRestart ensures that a discovery cluster could be restarted. -func TestDiscoveryRestart(t *testing.T) { - etcdtest.RunServer(func(s *server.Server) { - proc, err := startServer([]string{"-discovery", s.URL() + "/v2/keys/_etcd/registry/4"}) - if err != nil { - t.Fatal(err.Error()) - } - - client := http.Client{} - err = assertServerFunctional(client, "http") - if err != nil { - t.Fatal(err.Error()) - } - - proc2, err := startServer2([]string{"-discovery", s.URL() + "/v2/keys/_etcd/registry/4", "-addr", "127.0.0.1:4002", "-peer-addr", "127.0.0.1:7002"}) - if err != nil { - t.Fatal(err.Error()) - } - - err = assertServerFunctional(client, "http") - if err != nil { - t.Fatal(err.Error()) - } - - stopServer(proc) - stopServer(proc2) - - proc, err = startServerWithDataDir([]string{"-discovery", s.URL() + "/v2/keys/_etcd/registry/4"}) - if err != nil { - t.Fatal(err.Error()) - } - proc2, err = startServer2WithDataDir([]string{"-discovery", s.URL() + "/v2/keys/_etcd/registry/4", "-addr", "127.0.0.1:4002", "-peer-addr", "127.0.0.1:7002"}) - if err != nil { - t.Fatal(err.Error()) - } - - err = assertServerFunctional(client, "http") - if err != nil { - t.Fatal(err.Error()) - } - - stopServer(proc) - stopServer(proc2) - }) -} - func assertServerNotUp(client http.Client, scheme string) error { path := fmt.Sprintf("%s://127.0.0.1:4001/v2/keys/foo", scheme) fields := url.Values(map[string][]string{"value": {"bar"}})