This commit is contained in:
Ethan Frey 2017-02-22 22:52:16 +01:00
parent 42a9b847ec
commit cd9ee9d84b
4 changed files with 15 additions and 24 deletions

View File

@ -5,17 +5,18 @@ import (
"testing"
meapp "github.com/tendermint/merkleeyes/app"
nm "github.com/tendermint/tendermint/node"
rpctest "github.com/tendermint/tendermint/rpc/test"
)
func TestMain(m *testing.M) {
// start a tendermint node (and merkleeyes) in the background to test against
app := meapp.NewMerkleEyesApp("", 100)
node := rpctest.StartTendermint(app)
code := m.Run()
var node *nm.Node
func TestMain(m *testing.M) {
// configure a node, but don't start the server
app := meapp.NewMerkleEyesApp("", 100)
node = rpctest.StartTendermint(app)
code := m.Run()
// and shut down proper at the end
node.Stop()
node.Wait()
os.Exit(code)
}

View File

@ -14,17 +14,15 @@ import (
// GetClient gets a rpc client pointing to the test tendermint rpc
func GetClient() local.Client {
node := rpctest.GetNode()
return local.New(node)
}
// Make sure status is correct (we connect properly)
func TestStatus(t *testing.T) {
c := GetClient()
chainID := rpctest.GetConfig().GetString("chain_id")
status, err := c.Status()
require.Nil(t, err, "%+v", err)
assert.Equal(t, chainID, status.NodeInfo.Network)
require.NotNil(t, status.PubKey)
}
// Make sure info is correct (we connect properly)

View File

@ -26,7 +26,6 @@ import (
var (
config cfg.Config
node *nm.Node
)
const tmLogLevel = "error"
@ -72,10 +71,6 @@ func GetConfig() cfg.Config {
return config
}
func GetNode() *nm.Node {
return node
}
// GetURIClient gets a uri client pointing to the test tendermint rpc
func GetURIClient() *client.ClientURI {
rpcAddr := GetConfig().GetString("rpc_laddr")
@ -103,12 +98,9 @@ func GetWSClient() *client.WSClient {
}
// StartTendermint starts a test tendermint server in a go routine and returns when it is initialized
// TODO: can one pass an Application in????
func StartTendermint(app abci.Application) *nm.Node {
// start a node
fmt.Println("Starting Tendermint...")
node = NewTendermint(app)
node := NewTendermint(app)
node.Start()
fmt.Println("Tendermint running!")
return node
}
@ -121,9 +113,6 @@ func NewTendermint(app abci.Application) *nm.Node {
privValidator := types.LoadOrGenPrivValidator(privValidatorFile)
papp := proxy.NewLocalClientCreator(app)
node := nm.NewNode(config, privValidator, papp)
// node.Start now does everything including the RPC server
node.Start()
return node
}

View File

@ -18,12 +18,15 @@ import (
"testing"
"github.com/tendermint/abci/example/dummy"
nm "github.com/tendermint/tendermint/node"
)
var node *nm.Node
func TestMain(m *testing.M) {
// start a tendermint node (and merkleeyes) in the background to test against
app := dummy.NewDummyApplication()
node := StartTendermint(app)
node = StartTendermint(app)
code := m.Run()
// and shut down proper at the end