You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
985 B

package node
import (
"testing"
"time"
. "github.com/tendermint/go-common"
"github.com/tendermint/go-p2p"
_ "github.com/tendermint/tendermint/config/tendermint_test"
"github.com/tendermint/tmsp/example"
"github.com/tendermint/tmsp/server"
)
func TestNodeStartStop(t *testing.T) {
// Start a dummy app
go func() {
_, err := server.StartListener(config.GetString("proxy_app"), example.NewDummyApplication())
if err != nil {
Exit(err.Error())
}
}()
// wait for the server
time.Sleep(time.Second * 2)
// Create & start node
n := NewNode()
l := p2p.NewDefaultListener("tcp", config.GetString("node_laddr"), config.GetBool("skip_upnp"))
n.AddListener(l)
n.Start()
log.Notice("Started node", "nodeInfo", n.sw.NodeInfo())
time.Sleep(time.Second * 2)
ch := make(chan struct{}, 1)
go func() {
n.Stop()
ch <- struct{}{}
}()
ticker := time.NewTicker(time.Second * 5)
select {
case <-ch:
case <-ticker.C:
t.Fatal("timed out waiting for shutdown")
}
}