mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-10-07 11:27:50 +00:00
Merge pull request #923 from jaffee/test-helpers
add test helper for starting a new pilosa instance
This commit is contained in:
commit
e72d596ad6
1 changed files with 48 additions and 0 deletions
48
test/pilosa.go
Normal file
48
test/pilosa.go
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
package test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/pilosa/pilosa/server"
|
||||
)
|
||||
|
||||
func MustNewRunningServer(t *testing.T) *server.Command {
|
||||
s := server.NewCommand(&bytes.Buffer{}, ioutil.Discard, ioutil.Discard)
|
||||
s.Config.Bind = ":0"
|
||||
port := strconv.Itoa(MustOpenPort(t))
|
||||
s.Config.GossipPort = port
|
||||
s.Config.GossipSeed = "localhost:" + port
|
||||
td, err := ioutil.TempDir("", "")
|
||||
if err != nil {
|
||||
t.Fatalf("error creating temp data directory: %v", err)
|
||||
}
|
||||
s.Config.DataDir = td
|
||||
err = s.Run()
|
||||
if err != nil {
|
||||
t.Fatalf("error running new pilosa server: %v", err)
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func MustOpenPort(t *testing.T) int {
|
||||
addr, err := net.ResolveTCPAddr("tcp", ":0")
|
||||
if err != nil {
|
||||
t.Fatalf("resolving new port addr: %v", err)
|
||||
}
|
||||
|
||||
l, err := net.ListenTCP("tcp", addr)
|
||||
if err != nil {
|
||||
t.Fatalf("listening to get new port: %v", err)
|
||||
}
|
||||
defer func() {
|
||||
err := l.Close()
|
||||
if err != nil {
|
||||
t.Logf("error closing listener in MustOpenPort: %v", err)
|
||||
}
|
||||
}()
|
||||
return l.Addr().(*net.TCPAddr).Port
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue