From 0166cf2aa064ea98906b75650597b508fd14e861 Mon Sep 17 00:00:00 2001 From: Jeremiah Andrews Date: Wed, 25 Jul 2018 14:10:07 -0700 Subject: [PATCH] Add test which fails without patch, comment on patch --- baseapp/baseapp.go | 1 + cmd/gaia/app/app_test.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index fc7c755888..7416f8089d 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -190,6 +190,7 @@ func (app *BaseApp) initFromStore(mainKey sdk.StoreKey) error { if main == nil { return errors.New("baseapp expects MultiStore with 'main' KVStore") } + // Needed for `gaiad export`, which inits from store but never calls initchain app.setCheckState(abci.Header{}) return nil } diff --git a/cmd/gaia/app/app_test.go b/cmd/gaia/app/app_test.go index 759fc55a6c..63d650cef6 100644 --- a/cmd/gaia/app/app_test.go +++ b/cmd/gaia/app/app_test.go @@ -1,9 +1,15 @@ package app import ( + "os" + "testing" + "github.com/cosmos/cosmos-sdk/wire" "github.com/cosmos/cosmos-sdk/x/auth" "github.com/cosmos/cosmos-sdk/x/stake" + "github.com/stretchr/testify/require" + "github.com/tendermint/tendermint/libs/db" + "github.com/tendermint/tendermint/libs/log" abci "github.com/tendermint/tendermint/abci/types" ) @@ -31,3 +37,14 @@ func setGenesis(gapp *GaiaApp, accs ...*auth.BaseAccount) error { return nil } + +func TestGaiadExport(t *testing.T) { + db := db.NewMemDB() + gapp := NewGaiaApp(log.NewTMLogger(log.NewSyncWriter(os.Stdout)), db, nil) + setGenesis(gapp) + + // Making a new app object with the db, so that initchain hasn't been called + newGapp := NewGaiaApp(log.NewTMLogger(log.NewSyncWriter(os.Stdout)), db, nil) + _, _, err := newGapp.ExportAppStateAndValidators() + require.NoError(t, err, "ExportAppStateAndValidators should not have an error") +}