Fix test command
This commit is contained in:
parent
e99e6ea0c7
commit
8357326db0
|
@ -16,6 +16,7 @@ import (
|
||||||
"github.com/tendermint/tmlibs/log"
|
"github.com/tendermint/tmlibs/log"
|
||||||
|
|
||||||
abcicli "github.com/tendermint/abci/client"
|
abcicli "github.com/tendermint/abci/client"
|
||||||
|
"github.com/tendermint/abci/example/code"
|
||||||
"github.com/tendermint/abci/example/counter"
|
"github.com/tendermint/abci/example/counter"
|
||||||
"github.com/tendermint/abci/example/dummy"
|
"github.com/tendermint/abci/example/dummy"
|
||||||
"github.com/tendermint/abci/server"
|
"github.com/tendermint/abci/server"
|
||||||
|
@ -274,10 +275,10 @@ var dummyCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
var testCmd = &cobra.Command{
|
var testCmd = &cobra.Command{
|
||||||
Use: "test",
|
Use: "test",
|
||||||
Short: "Run integration tests",
|
Short: "Run integration tests",
|
||||||
Long: "",
|
Long: "",
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
return cmdTest(cmd, args)
|
return cmdTest(cmd, args)
|
||||||
},
|
},
|
||||||
|
@ -299,6 +300,14 @@ func persistentArgs(line []byte) []string {
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
func or(err1 error, err2 error) error {
|
||||||
|
if err1 == nil {
|
||||||
|
return err2
|
||||||
|
} else {
|
||||||
|
return err1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func cmdTest(cmd *cobra.Command, args []string) error {
|
func cmdTest(cmd *cobra.Command, args []string) error {
|
||||||
fmt.Println("Running tests")
|
fmt.Println("Running tests")
|
||||||
|
|
||||||
|
@ -306,34 +315,34 @@ func cmdTest(cmd *cobra.Command, args []string) error {
|
||||||
|
|
||||||
err = servertest.InitChain(client)
|
err = servertest.InitChain(client)
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.SetOption(client, "serial", "on")
|
err = or(err, servertest.SetOption(client, "serial", "on"))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.Commit(client, nil)
|
err = or(err, servertest.Commit(client, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte("abc"), types.CodeType_BadNonce, nil)
|
err = or(err, servertest.DeliverTx(client, []byte("abc"), code.CodeTypeBadNonce, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.Commit(client, nil)
|
err = or(err, servertest.Commit(client, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte{0x00}, types.CodeType_OK, nil)
|
err = or(err, servertest.DeliverTx(client, []byte{0x00}, code.CodeTypeOK, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.Commit(client, []byte{0, 0, 0, 0, 0, 0, 0, 1})
|
err = or(err, servertest.Commit(client, []byte{0, 0, 0, 0, 0, 0, 0, 1}))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte{0x00}, types.CodeType_BadNonce, nil)
|
err = or(err, servertest.DeliverTx(client, []byte{0x00}, code.CodeTypeBadNonce, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte{0x01}, types.CodeType_OK, nil)
|
err = or(err, servertest.DeliverTx(client, []byte{0x01}, code.CodeTypeOK, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte{0x00, 0x02}, types.CodeType_OK, nil)
|
err = or(err, servertest.DeliverTx(client, []byte{0x00, 0x02}, code.CodeTypeOK, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte{0x00, 0x03}, types.CodeType_OK, nil)
|
err = or(err, servertest.DeliverTx(client, []byte{0x00, 0x03}, code.CodeTypeOK, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte{0x00, 0x00, 0x04}, types.CodeType_OK, nil)
|
err = or(err, servertest.DeliverTx(client, []byte{0x00, 0x00, 0x04}, code.CodeTypeOK, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.DeliverTx(client, []byte{0x00, 0x00, 0x06}, types.CodeType_BadNonce, nil)
|
err = or(err, servertest.DeliverTx(client, []byte{0x00, 0x00, 0x06}, code.CodeTypeBadNonce, nil))
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
err = servertest.Commit(client, []byte{0, 0, 0, 0, 0, 0, 0, 5})
|
err = or(err, servertest.Commit(client, []byte{0, 0, 0, 0, 0, 0, 0, 5}))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.New("Some checks didn't pass, please use the cli to see the exact failures.")
|
return errors.New("Some checks didn't pass, please inspect stdout to see the exact failures.")
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,9 +17,9 @@ func InitChain(client abcicli.Client) error {
|
||||||
for i := 0; i < total; i++ {
|
for i := 0; i < total; i++ {
|
||||||
pubkey := crypto.GenPrivKeyEd25519FromSecret([]byte(cmn.Fmt("test%d", i))).PubKey().Bytes()
|
pubkey := crypto.GenPrivKeyEd25519FromSecret([]byte(cmn.Fmt("test%d", i))).PubKey().Bytes()
|
||||||
power := cmn.RandInt()
|
power := cmn.RandInt()
|
||||||
vals[i] = &types.Validator{pubkey, uint64(power)}
|
vals[i] = &types.Validator{pubkey, int64(power)}
|
||||||
}
|
}
|
||||||
err := client.InitChainSync(vals)
|
_, err := client.InitChainSync(types.RequestInitChain{Validators: vals})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Failed test: InitChain - %v", err)
|
fmt.Println("Failed test: InitChain - %v", err)
|
||||||
return err
|
return err
|
||||||
|
@ -29,38 +29,38 @@ func InitChain(client abcicli.Client) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetOption(client abcicli.Client, key, value string) error {
|
func SetOption(client abcicli.Client, key, value string) error {
|
||||||
res := client.SetOptionSync(key, value)
|
res, err := client.SetOptionSync(types.RequestSetOption{Key: key, Value: value})
|
||||||
_, _, log := res.Code, res.Data, res.Log
|
log := res.GetLog()
|
||||||
if res.IsErr() {
|
if err != nil {
|
||||||
fmt.Println("Failed test: SetOption")
|
fmt.Println("Failed test: SetOption")
|
||||||
fmt.Printf("setting %v=%v: \nlog: %v", key, value, log)
|
fmt.Printf("setting %v=%v: \nlog: %v", key, value, log)
|
||||||
fmt.Println("Failed test: SetOption")
|
fmt.Println("Failed test: SetOption")
|
||||||
return errors.New(res.Error())
|
return err
|
||||||
}
|
}
|
||||||
fmt.Println("Passed test: SetOption")
|
fmt.Println("Passed test: SetOption")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func Commit(client abcicli.Client, hashExp []byte) error {
|
func Commit(client abcicli.Client, hashExp []byte) error {
|
||||||
res := client.CommitSync()
|
res, err := client.CommitSync()
|
||||||
_, data, log := res.Code, res.Data, res.Log
|
_, data := res.Code, res.Data
|
||||||
if res.IsErr() {
|
if err != nil {
|
||||||
fmt.Println("Failed test: Commit")
|
fmt.Println("Failed test: Commit")
|
||||||
fmt.Printf("committing %v\nlog: %v", log)
|
fmt.Printf("committing %v\nlog: %v", res.GetLog())
|
||||||
return errors.New(res.Error())
|
return err
|
||||||
}
|
}
|
||||||
if !bytes.Equal(res.Data, hashExp) {
|
if !bytes.Equal(data, hashExp) {
|
||||||
fmt.Println("Failed test: Commit")
|
fmt.Println("Failed test: Commit")
|
||||||
fmt.Printf("Commit hash was unexpected. Got %X expected %X",
|
fmt.Printf("Commit hash was unexpected. Got %X expected %X",
|
||||||
data, hashExp)
|
data.Bytes(), hashExp)
|
||||||
return errors.New("CommitTx failed")
|
return errors.New("CommitTx failed")
|
||||||
}
|
}
|
||||||
fmt.Println("Passed test: Commit")
|
fmt.Println("Passed test: Commit")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeliverTx(client abcicli.Client, txBytes []byte, codeExp types.CodeType, dataExp []byte) error {
|
func DeliverTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp []byte) error {
|
||||||
res := client.DeliverTxSync(txBytes)
|
res, _ := client.DeliverTxSync(txBytes)
|
||||||
code, data, log := res.Code, res.Data, res.Log
|
code, data, log := res.Code, res.Data, res.Log
|
||||||
if code != codeExp {
|
if code != codeExp {
|
||||||
fmt.Println("Failed test: DeliverTx")
|
fmt.Println("Failed test: DeliverTx")
|
||||||
|
@ -78,14 +78,9 @@ func DeliverTx(client abcicli.Client, txBytes []byte, codeExp types.CodeType, da
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func CheckTx(client abcicli.Client, txBytes []byte, codeExp types.CodeType, dataExp []byte) error {
|
func CheckTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp []byte) error {
|
||||||
res := client.CheckTxSync(txBytes)
|
res, _ := client.CheckTxSync(txBytes)
|
||||||
code, data, log := res.Code, res.Data, res.Log
|
code, data, log := res.Code, res.Data, res.Log
|
||||||
if res.IsErr() {
|
|
||||||
fmt.Println("Failed test: CheckTx")
|
|
||||||
fmt.Printf("checking tx %X: %v\nlog: %v", txBytes, log)
|
|
||||||
return errors.New(res.Error())
|
|
||||||
}
|
|
||||||
if code != codeExp {
|
if code != codeExp {
|
||||||
fmt.Println("Failed test: CheckTx")
|
fmt.Println("Failed test: CheckTx")
|
||||||
fmt.Printf("CheckTx response code was unexpected. Got %v expected %v. Log: %v",
|
fmt.Printf("CheckTx response code was unexpected. Got %v expected %v. Log: %v",
|
||||||
|
|
Loading…
Reference in New Issue