|
@ -8,7 +8,6 @@ import ( |
|
|
"io" |
|
|
"io" |
|
|
"math/rand" |
|
|
"math/rand" |
|
|
"os" |
|
|
"os" |
|
|
"path/filepath" |
|
|
|
|
|
"runtime" |
|
|
"runtime" |
|
|
"testing" |
|
|
"testing" |
|
|
"time" |
|
|
"time" |
|
@ -338,13 +337,13 @@ func setupSimulator(ctx context.Context, t *testing.T) *simulatorTestSuite { |
|
|
nPeers, |
|
|
nPeers, |
|
|
"replay_test", |
|
|
"replay_test", |
|
|
newMockTickerFunc(true), |
|
|
newMockTickerFunc(true), |
|
|
newPersistentKVStore) |
|
|
|
|
|
|
|
|
newEpehemeralKVStore) |
|
|
sim.Config = cfg |
|
|
sim.Config = cfg |
|
|
|
|
|
defer func() { t.Cleanup(cleanup) }() |
|
|
|
|
|
|
|
|
var err error |
|
|
var err error |
|
|
sim.GenesisState, err = sm.MakeGenesisState(genDoc) |
|
|
sim.GenesisState, err = sm.MakeGenesisState(genDoc) |
|
|
require.NoError(t, err) |
|
|
require.NoError(t, err) |
|
|
sim.CleanupFunc = cleanup |
|
|
|
|
|
|
|
|
|
|
|
partSize := types.BlockPartSizeBytes |
|
|
partSize := types.BlockPartSizeBytes |
|
|
|
|
|
|
|
@ -584,9 +583,6 @@ func setupSimulator(ctx context.Context, t *testing.T) *simulatorTestSuite { |
|
|
sim.Chain = append(sim.Chain, css[0].blockStore.LoadBlock(int64(i))) |
|
|
sim.Chain = append(sim.Chain, css[0].blockStore.LoadBlock(int64(i))) |
|
|
sim.Commits = append(sim.Commits, css[0].blockStore.LoadBlockCommit(int64(i))) |
|
|
sim.Commits = append(sim.Commits, css[0].blockStore.LoadBlockCommit(int64(i))) |
|
|
} |
|
|
} |
|
|
if sim.CleanupFunc != nil { |
|
|
|
|
|
t.Cleanup(sim.CleanupFunc) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return sim |
|
|
return sim |
|
|
} |
|
|
} |
|
@ -743,19 +739,14 @@ func testHandshakeReplay( |
|
|
) |
|
|
) |
|
|
latestAppHash := state.AppHash |
|
|
latestAppHash := state.AppHash |
|
|
|
|
|
|
|
|
// make a new client creator
|
|
|
|
|
|
kvstoreApp := kvstore.NewPersistentKVStoreApplication(logger, |
|
|
|
|
|
filepath.Join(cfg.DBDir(), fmt.Sprintf("replay_test_%d_%d_a_r%d", nBlocks, mode, rand.Int()))) |
|
|
|
|
|
t.Cleanup(func() { require.NoError(t, kvstoreApp.Close()) }) |
|
|
|
|
|
|
|
|
|
|
|
eventBus := eventbus.NewDefault(logger) |
|
|
eventBus := eventbus.NewDefault(logger) |
|
|
require.NoError(t, eventBus.Start(ctx)) |
|
|
require.NoError(t, eventBus.Start(ctx)) |
|
|
|
|
|
|
|
|
clientCreator2 := abciclient.NewLocalClient(logger, kvstoreApp) |
|
|
|
|
|
|
|
|
client := abciclient.NewLocalClient(logger, kvstore.NewApplication()) |
|
|
if nBlocks > 0 { |
|
|
if nBlocks > 0 { |
|
|
// run nBlocks against a new client to build up the app state.
|
|
|
// run nBlocks against a new client to build up the app state.
|
|
|
// use a throwaway tendermint state
|
|
|
// use a throwaway tendermint state
|
|
|
proxyApp := proxy.New(clientCreator2, logger, proxy.NopMetrics()) |
|
|
|
|
|
|
|
|
proxyApp := proxy.New(client, logger, proxy.NopMetrics()) |
|
|
stateDB1 := dbm.NewMemDB() |
|
|
stateDB1 := dbm.NewMemDB() |
|
|
stateStore := sm.NewStore(stateDB1) |
|
|
stateStore := sm.NewStore(stateDB1) |
|
|
err := stateStore.Save(genesisState) |
|
|
err := stateStore.Save(genesisState) |
|
@ -776,7 +767,7 @@ func testHandshakeReplay( |
|
|
genDoc, err := sm.MakeGenesisDocFromFile(cfg.GenesisFile()) |
|
|
genDoc, err := sm.MakeGenesisDocFromFile(cfg.GenesisFile()) |
|
|
require.NoError(t, err) |
|
|
require.NoError(t, err) |
|
|
handshaker := NewHandshaker(logger, stateStore, state, store, eventBus, genDoc) |
|
|
handshaker := NewHandshaker(logger, stateStore, state, store, eventBus, genDoc) |
|
|
proxyApp := proxy.New(clientCreator2, logger, proxy.NopMetrics()) |
|
|
|
|
|
|
|
|
proxyApp := proxy.New(client, logger, proxy.NopMetrics()) |
|
|
require.NoError(t, proxyApp.Start(ctx), "Error starting proxy app connections") |
|
|
require.NoError(t, proxyApp.Start(ctx), "Error starting proxy app connections") |
|
|
require.True(t, proxyApp.IsRunning()) |
|
|
require.True(t, proxyApp.IsRunning()) |
|
|
require.NotNil(t, proxyApp) |
|
|
require.NotNil(t, proxyApp) |
|
@ -905,10 +896,7 @@ func buildTMStateFromChain( |
|
|
t.Helper() |
|
|
t.Helper() |
|
|
|
|
|
|
|
|
// run the whole chain against this client to build up the tendermint state
|
|
|
// run the whole chain against this client to build up the tendermint state
|
|
|
kvstoreApp := kvstore.NewPersistentKVStoreApplication(logger, |
|
|
|
|
|
filepath.Join(cfg.DBDir(), fmt.Sprintf("replay_test_%d_%d_t", nBlocks, mode))) |
|
|
|
|
|
defer kvstoreApp.Close() |
|
|
|
|
|
client := abciclient.NewLocalClient(logger, kvstoreApp) |
|
|
|
|
|
|
|
|
client := abciclient.NewLocalClient(logger, kvstore.NewApplication()) |
|
|
|
|
|
|
|
|
proxyApp := proxy.New(client, logger, proxy.NopMetrics()) |
|
|
proxyApp := proxy.New(client, logger, proxy.NopMetrics()) |
|
|
require.NoError(t, proxyApp.Start(ctx)) |
|
|
require.NoError(t, proxyApp.Start(ctx)) |
|
|