Skip to content

Commit

Permalink
fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
yihuang committed Dec 28, 2023
1 parent 3034013 commit b4da78c
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 269 deletions.
2 changes: 1 addition & 1 deletion app/export_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func TestExportAppStateAndValidators(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
app := Setup(t, false)
app.Commit()
_, err := app.ExportAppStateAndValidators(tc.forZeroHeight, []string{})
_, err := app.ExportAppStateAndValidators(tc.forZeroHeight, []string{}, []string{})
require.NoError(t, err, "ExportAppStateAndValidators should not have an error")
})
}
Expand Down
74 changes: 39 additions & 35 deletions app/sim_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/store"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
sdk "github.com/cosmos/cosmos-sdk/types"
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
Expand All @@ -31,14 +32,15 @@ import (
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
"github.com/cosmos/cosmos-sdk/x/simulation"
simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli"
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
nfttypes "github.com/crypto-org-chain/chain-main/v4/x/nft/types"
)

// Get flags every time the simulator is run
func init() {
simapp.GetSimulatorFlags()
simcli.GetSimulatorFlags()
}

type StoreKeysPrefixes struct {
Expand All @@ -60,20 +62,21 @@ func interBlockCacheOpt() func(*baseapp.BaseApp) {
}

func TestFullAppSimulation(t *testing.T) {
config, db, dir, logger, skip, err := simapp.SetupSimulation("leveldb-app-sim", "Simulation")
config := simcli.NewConfigFromFlags()
config.ChainID = SimAppChainID

db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue)
if skip {
t.Skip("skipping application simulation")
}
require.NoError(t, err, "simulation setup failed")

config.ChainID = simapp.SimAppChainID

defer func() {
db.Close()
require.NoError(t, os.RemoveAll(dir))
}()
app := New(logger, db, nil, true, map[int64]bool{},
dir, simapp.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
dir, simcli.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
require.Equal(t, "chain-maind", app.Name())

// run randomized simulation
Expand All @@ -83,38 +86,39 @@ func TestFullAppSimulation(t *testing.T) {
app.BaseApp,
AppStateFn(app.AppCodec(), app.SimulationManager()),
simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1
simapp.SimulationOperations(app, app.AppCodec(), config),
simtestutil.SimulationOperations(app, app.AppCodec(), config),
app.ModuleAccountAddrs(),
config,
app.AppCodec(),
)

// export state and simParams before the simulation error is checked
err = simapp.CheckExportSimulation(app, config, simParams)
err = simtestutil.CheckExportSimulation(app, config, simParams)
require.NoError(t, err)
require.NoError(t, simErr)

if config.Commit {
simapp.PrintStats(db)
simtestutil.PrintStats(db)
}
}

func TestAppImportExport(t *testing.T) {
config, db, dir, logger, skip, err := simapp.SetupSimulation("leveldb-app-sim", "Simulation")
config := simcli.NewConfigFromFlags()
config.ChainID = SimAppChainID

db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue)
if skip {
t.Skip("skipping application import/export simulation")
}
require.NoError(t, err, "simulation setup failed")

config.ChainID = simapp.SimAppChainID

defer func() {
db.Close()
require.NoError(t, os.RemoveAll(dir))
}()

app := New(logger, db, nil, true, map[int64]bool{},
dir, simapp.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
dir, simcli.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
require.Equal(t, "chain-maind", app.Name())

// Run randomized simulation
Expand All @@ -124,30 +128,30 @@ func TestAppImportExport(t *testing.T) {
app.BaseApp,
AppStateFn(app.AppCodec(), app.SimulationManager()),
simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1
simapp.SimulationOperations(app, app.AppCodec(), config),
simtestutil.SimulationOperations(app, app.AppCodec(), config),
app.ModuleAccountAddrs(),
config,
app.AppCodec(),
)

// export state and simParams before the simulation error is checked
err = simapp.CheckExportSimulation(app, config, simParams)
err = simtestutil.CheckExportSimulation(app, config, simParams)
require.NoError(t, err)
require.NoError(t, simErr)

if config.Commit {
simapp.PrintStats(db)
simtestutil.PrintStats(db)
}

fmt.Printf("exporting genesis...\n")

exported, err := app.ExportAppStateAndValidators(false, []string{})
exported, err := app.ExportAppStateAndValidators(false, []string{}, []string{})
require.NoError(t, err)

fmt.Printf("importing genesis...\n")

// nolint: dogsled
_, newDB, newDir, _, _, err := simapp.SetupSimulation("leveldb-app-sim-2", "Simulation-2")
newDB, newDir, _, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue)
require.NoError(t, err, "simulation setup failed")

defer func() {
Expand All @@ -156,7 +160,7 @@ func TestAppImportExport(t *testing.T) {
}()

newApp := New(log.NewNopLogger(), newDB, nil, true, map[int64]bool{},
newDir, simapp.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
newDir, simcli.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
require.Equal(t, "chain-maind", newApp.Name())

var genesisState GenesisState
Expand All @@ -174,7 +178,7 @@ func TestAppImportExport(t *testing.T) {
}
}()

header := tmproto.Header{Height: app.LastBlockHeight(), ChainID: simapp.SimAppChainID}
header := tmproto.Header{Height: app.LastBlockHeight(), ChainID: SimAppChainID}
ctxA := app.NewContext(true, header)
ctxB := newApp.NewContext(true, header)
newApp.mm.InitGenesis(ctxB, app.AppCodec(), genesisState)
Expand Down Expand Up @@ -216,21 +220,21 @@ func TestAppImportExport(t *testing.T) {
}

func TestAppSimulationAfterImport(t *testing.T) {
config, db, dir, logger, skip, err := simapp.SetupSimulation("leveldb-app-sim", "Simulation")
config, db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation")

Check failure on line 223 in app/sim_test.go

View workflow job for this annotation

GitHub Actions / golangci-lint

assignment mismatch: 6 variables but simtestutil.SetupSimulation returns 5 values

Check failure on line 223 in app/sim_test.go

View workflow job for this annotation

GitHub Actions / golangci-lint

undefined: config

Check failure on line 223 in app/sim_test.go

View workflow job for this annotation

GitHub Actions / codecov

assignment mismatch: 6 variables but simtestutil.SetupSimulation returns 5 values

Check failure on line 223 in app/sim_test.go

View workflow job for this annotation

GitHub Actions / codecov

undefined: config

Check failure on line 223 in app/sim_test.go

View workflow job for this annotation

GitHub Actions / Build

assignment mismatch: 6 variables but simtestutil.SetupSimulation returns 5 values

Check failure on line 223 in app/sim_test.go

View workflow job for this annotation

GitHub Actions / Build

undefined: config
if skip {
t.Skip("skipping application simulation after import")
}
require.NoError(t, err, "simulation setup failed")

config.ChainID = simapp.SimAppChainID
config.ChainID = SimAppChainID

defer func() {
db.Close()
require.NoError(t, os.RemoveAll(dir))
}()

app := New(logger, db, nil, true, map[int64]bool{},
dir, simapp.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
dir, simcli.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
require.Equal(t, "chain-maind", app.Name())

// Run randomized simulation
Expand All @@ -240,19 +244,19 @@ func TestAppSimulationAfterImport(t *testing.T) {
app.BaseApp,
AppStateFn(app.AppCodec(), app.SimulationManager()),
simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1
simapp.SimulationOperations(app, app.AppCodec(), config),
simtestutil.SimulationOperations(app, app.AppCodec(), config),
app.ModuleAccountAddrs(),
config,
app.AppCodec(),
)

// export state and simParams before the simulation error is checked
err = simapp.CheckExportSimulation(app, config, simParams)
err = simtestutil.CheckExportSimulation(app, config, simParams)
require.NoError(t, err)
require.NoError(t, simErr)

if config.Commit {
simapp.PrintStats(db)
simtestutil.PrintStats(db)
}

if stopEarly {
Expand All @@ -262,13 +266,13 @@ func TestAppSimulationAfterImport(t *testing.T) {

fmt.Printf("exporting genesis...\n")

exported, err := app.ExportAppStateAndValidators(true, []string{})
exported, err := app.ExportAppStateAndValidators(true, []string{}, []string{})
require.NoError(t, err)

fmt.Printf("importing genesis...\n")

// nolint: dogsled
_, newDB, newDir, _, _, err := simapp.SetupSimulation("leveldb-app-sim-2", "Simulation-2")
newDB, newDir, _, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue)
require.NoError(t, err, "simulation setup failed")

defer func() {
Expand All @@ -277,11 +281,11 @@ func TestAppSimulationAfterImport(t *testing.T) {
}()

newApp := New(log.NewNopLogger(), newDB, nil, true, map[int64]bool{},
newDir, simapp.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
newDir, simcli.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, fauxMerkleModeOpt)
require.Equal(t, "chain-maind", newApp.Name())

newApp.InitChain(abci.RequestInitChain{
ChainId: simapp.SimAppChainID,
ChainId: SimAppChainID,
AppStateBytes: exported.AppState,
})

Expand All @@ -291,7 +295,7 @@ func TestAppSimulationAfterImport(t *testing.T) {
newApp.BaseApp,
AppStateFn(app.AppCodec(), app.SimulationManager()),
simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1
simapp.SimulationOperations(newApp, newApp.AppCodec(), config),
simtestutil.SimulationOperations(newApp, newApp.AppCodec(), config),
app.ModuleAccountAddrs(),
config,
app.AppCodec(),
Expand All @@ -311,7 +315,7 @@ func TestAppStateDeterminism(t *testing.T) {
config.ExportParamsPath = ""
config.OnOperation = false
config.AllInvariants = false
config.ChainID = simapp.SimAppChainID
config.ChainID = SimAppChainID

numSeeds := 3
numTimesToRunPerSeed := 5
Expand All @@ -323,15 +327,15 @@ func TestAppStateDeterminism(t *testing.T) {

for j := 0; j < numTimesToRunPerSeed; j++ {
var logger log.Logger
if simapp.FlagVerboseValue {
if simcli.FlagVerboseValue {
logger = log.TestingLogger()
} else {
logger = log.NewNopLogger()
}

db := dbm.NewMemDB()
app := New(logger, db, nil, true, map[int64]bool{},
simapp.DefaultNodeHome, simapp.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, interBlockCacheOpt())
simapp.DefaultNodeHome, simcli.FlagPeriodValue, MakeEncodingConfig(), EmptyAppOptions{}, interBlockCacheOpt())

fmt.Printf(
"running non-determinism simulation; seed %d: %d/%d, attempt: %d/%d\n",
Expand All @@ -344,15 +348,15 @@ func TestAppStateDeterminism(t *testing.T) {
app.BaseApp,
AppStateFn(app.AppCodec(), app.SimulationManager()),
simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1
simapp.SimulationOperations(app, app.AppCodec(), config),
simtestutil.SimulationOperations(app, app.AppCodec(), config),
app.ModuleAccountAddrs(),
config,
app.AppCodec(),
)
require.NoError(t, err)

if config.Commit {
simapp.PrintStats(db)
simtestutil.PrintStats(db)
}

appHash := app.LastCommitID().Hash
Expand Down
4 changes: 4 additions & 0 deletions app/test_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ import (
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
)

const (
SimAppChainID = "simulation_777-1"
)

// DefaultConsensusParams defines the default Tendermint consensus params used in
// ChainApp testing.
var DefaultConsensusParams = &tmproto.ConsensusParams{
Expand Down
16 changes: 8 additions & 8 deletions x/nft/client/cli/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (
"github.com/stretchr/testify/suite"
"github.com/tidwall/gjson"

"cosmossdk.io/simapp"
"github.com/cometbft/cometbft/crypto"

"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/cosmos/cosmos-sdk/testutil/network"
sdk "github.com/cosmos/cosmos-sdk/types"
Expand All @@ -33,7 +33,7 @@ func (s *IntegrationTestSuite) SetupSuite() {
var err error
s.T().Log("setting up integration test suite")

cfg := network.DefaultConfig()
cfg := network.DefaultConfig(simapp.NewTestNetworkFixture)
cfg.AppConstructor = nfttestutil.GetApp
cfg.NumValidators = 2

Expand Down Expand Up @@ -79,7 +79,7 @@ func (s *IntegrationTestSuite) TestNft() {
fmt.Sprintf("--%s=%s", nftcli.FlagSchema, schema),

fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync),
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
}

Expand Down Expand Up @@ -131,7 +131,7 @@ func (s *IntegrationTestSuite) TestNft() {
fmt.Sprintf("--%s=%s", nftcli.FlagTokenName, tokenName),

fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync),
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
}

Expand Down Expand Up @@ -191,7 +191,7 @@ func (s *IntegrationTestSuite) TestNft() {
fmt.Sprintf("--%s=%s", nftcli.FlagTokenName, newTokenName),

fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync),
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
}

Expand All @@ -217,7 +217,7 @@ func (s *IntegrationTestSuite) TestNft() {

args = []string{
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync),
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
}

Expand Down Expand Up @@ -249,7 +249,7 @@ func (s *IntegrationTestSuite) TestNft() {
fmt.Sprintf("--%s=%s", nftcli.FlagTokenName, newTokenName),

fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync),
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
}

Expand All @@ -270,7 +270,7 @@ func (s *IntegrationTestSuite) TestNft() {

args = []string{
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync),
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
}
respType = proto.Message(&sdk.TxResponse{})
Expand Down
Loading

0 comments on commit b4da78c

Please sign in to comment.