--validate-signatures should not be a flag of the sign command
as the operation performed (transaction signatures verification)
is logically distinct.
cli_test is and has always been an horrible name for package
directory as it's very much Go anti-idiomatic - _test is the
suffix used by test packages, not directories. Plus, CLI test
cases can and should live alongside other testcases that don't
require binaries to be built beforehand. Thus:
x/module/client/cli_test/*.go -> x/module/client/cli/
Test files that require sim{cli,d} shall be tagged with // +build cli_test
With regard to cli test auxiliary functions, they should live in:
x/module/client/testutil/
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
36 lines
820 B
Go
36 lines
820 B
Go
package tests
|
|
|
|
import (
|
|
"bytes"
|
|
"io/ioutil"
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/spf13/cobra"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// ApplyMockIO replaces stdin/out/err with buffers that can be used during testing.
|
|
func ApplyMockIO(c *cobra.Command) (*strings.Reader, *bytes.Buffer, *bytes.Buffer) {
|
|
mockIn := strings.NewReader("")
|
|
mockOut := bytes.NewBufferString("")
|
|
mockErr := bytes.NewBufferString("")
|
|
c.SetIn(mockIn)
|
|
c.SetOut(mockOut)
|
|
c.SetErr(mockErr)
|
|
return mockIn, mockOut, mockErr
|
|
}
|
|
|
|
// Write the given string to a new temporary file
|
|
func WriteToNewTempFile(t require.TestingT, s string) (*os.File, func()) {
|
|
fp, err := ioutil.TempFile(os.TempDir(), "cosmos_cli_test_")
|
|
require.Nil(t, err)
|
|
|
|
_, err = fp.WriteString(s)
|
|
require.Nil(t, err)
|
|
|
|
return fp, func() { os.Remove(fp.Name()) }
|
|
}
|
|
|
|
// DONTCOVER
|