server_utils.go 841 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // +build ignore
  2. package tests
  3. import (
  4. "github.com/coreos/etcd/config"
  5. "github.com/coreos/etcd/etcd"
  6. "github.com/coreos/etcd/server"
  7. )
  8. const (
  9. testName = "ETCDTEST"
  10. testClientURL = "localhost:4401"
  11. testRaftURL = "localhost:7701"
  12. testSnapshotCount = 10000
  13. testHeartbeatInterval = 50
  14. testElectionTimeout = 200
  15. testDataDir = "/tmp/ETCDTEST"
  16. )
  17. // Starts a new server.
  18. func RunServer(f func(*server.Server)) {
  19. c := cfg.New()
  20. c.Name = testName
  21. c.Addr = testClientURL
  22. c.Peer.Addr = testRaftURL
  23. c.DataDir = testDataDir
  24. c.Force = true
  25. c.Peer.HeartbeatInterval = testHeartbeatInterval
  26. c.Peer.ElectionTimeout = testElectionTimeout
  27. c.SnapshotCount = testSnapshotCount
  28. i := etcd.New(c)
  29. go i.Run()
  30. <-i.ReadyNotify()
  31. // Execute the function passed in.
  32. f(i.Server)
  33. i.Stop()
  34. }