Define a TestingT interface in server.go

This commit is contained in:
Thibault Vigouroux 2016-03-18 12:27:59 +01:00
parent 6b2ace6f6b
commit 44bce6797f
1 changed files with 12 additions and 4 deletions

View File

@ -24,7 +24,6 @@ import (
"os/exec" "os/exec"
"strings" "strings"
"sync/atomic" "sync/atomic"
"testing"
"github.com/hashicorp/go-cleanhttp" "github.com/hashicorp/go-cleanhttp"
) )
@ -112,6 +111,15 @@ type TestCheck struct {
TTL string `json:",omitempty"` TTL string `json:",omitempty"`
} }
// TestingT is an interface wrapper around TestingT
type TestingT interface {
Logf(format string, args ...interface{})
Errorf(format string, args ...interface{})
Fatalf(format string, args ...interface{})
Fatal(args ...interface{})
Skip(args ...interface{})
}
// TestKVResponse is what we use to decode KV data. // TestKVResponse is what we use to decode KV data.
type TestKVResponse struct { type TestKVResponse struct {
Value string Value string
@ -121,7 +129,7 @@ type TestKVResponse struct {
type TestServer struct { type TestServer struct {
PID int PID int
Config *TestServerConfig Config *TestServerConfig
t *testing.T t TestingT
HTTPAddr string HTTPAddr string
LANAddr string LANAddr string
@ -132,13 +140,13 @@ type TestServer struct {
// NewTestServer is an easy helper method to create a new Consul // NewTestServer is an easy helper method to create a new Consul
// test server with the most basic configuration. // test server with the most basic configuration.
func NewTestServer(t *testing.T) *TestServer { func NewTestServer(t TestingT) *TestServer {
return NewTestServerConfig(t, nil) return NewTestServerConfig(t, nil)
} }
// NewTestServerConfig creates a new TestServer, and makes a call to // NewTestServerConfig creates a new TestServer, and makes a call to
// an optional callback function to modify the configuration. // an optional callback function to modify the configuration.
func NewTestServerConfig(t *testing.T, cb ServerConfigCallback) *TestServer { func NewTestServerConfig(t TestingT, cb ServerConfigCallback) *TestServer {
if path, err := exec.LookPath("consul"); err != nil || path == "" { if path, err := exec.LookPath("consul"); err != nil || path == "" {
t.Skip("consul not found on $PATH, skipping") t.Skip("consul not found on $PATH, skipping")
} }