Browse Source

Ensure tests all have a WAL directory.

Clean up the creation of WAL directories so they are correctly cleaned up when
the test exits, rather than leaving turds around $TMPDIR.
pull/8111/head
M. J. Fromberger 3 years ago
parent
commit
3d81aab95a
2 changed files with 9 additions and 5 deletions
  1. +9
    -2
      internal/consensus/common_test.go
  2. +0
    -3
      internal/consensus/reactor_test.go

+ 9
- 2
internal/consensus/common_test.go View File

@ -69,6 +69,10 @@ func configSetup(t *testing.T) *config.Config {
require.NoError(t, err) require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(configByzantineTest.RootDir) }) t.Cleanup(func() { os.RemoveAll(configByzantineTest.RootDir) })
walDir := filepath.Dir(cfg.Consensus.WalFile())
ensureDir(t, walDir, 0700)
t.Cleanup(func() { os.RemoveAll(walDir) })
return cfg return cfg
} }
@ -785,6 +789,7 @@ func makeConsensusState(
configOpts ...func(*config.Config), configOpts ...func(*config.Config),
) ([]*State, cleanupFunc) { ) ([]*State, cleanupFunc) {
t.Helper() t.Helper()
tempDir := t.TempDir()
valSet, privVals := factory.ValidatorSet(ctx, t, nValidators, 30) valSet, privVals := factory.ValidatorSet(ctx, t, nValidators, 30)
genDoc := factory.GenesisDoc(cfg, time.Now(), valSet.Validators, nil) genDoc := factory.GenesisDoc(cfg, time.Now(), valSet.Validators, nil)
@ -799,7 +804,7 @@ func makeConsensusState(
blockStore := store.NewBlockStore(dbm.NewMemDB()) // each state needs its own db blockStore := store.NewBlockStore(dbm.NewMemDB()) // each state needs its own db
state, err := sm.MakeGenesisState(genDoc) state, err := sm.MakeGenesisState(genDoc)
require.NoError(t, err) require.NoError(t, err)
thisConfig, err := ResetConfig(t.TempDir(), fmt.Sprintf("%s_%d", testName, i))
thisConfig, err := ResetConfig(tempDir, fmt.Sprintf("%s_%d", testName, i))
require.NoError(t, err) require.NoError(t, err)
configRootDirs = append(configRootDirs, thisConfig.RootDir) configRootDirs = append(configRootDirs, thisConfig.RootDir)
@ -808,7 +813,9 @@ func makeConsensusState(
opt(thisConfig) opt(thisConfig)
} }
ensureDir(t, filepath.Dir(thisConfig.Consensus.WalFile()), 0700) // dir for wal
walDir := filepath.Dir(thisConfig.Consensus.WalFile())
ensureDir(t, walDir, 0700)
configRootDirs = append(configRootDirs, walDir)
app := kvstore.NewApplication() app := kvstore.NewApplication()
closeFuncs = append(closeFuncs, app.Close) closeFuncs = append(closeFuncs, app.Close)


+ 0
- 3
internal/consensus/reactor_test.go View File

@ -5,7 +5,6 @@ import (
"errors" "errors"
"fmt" "fmt"
"os" "os"
"path"
"sync" "sync"
"testing" "testing"
"time" "time"
@ -466,7 +465,6 @@ func TestReactorWithEvidence(t *testing.T) {
defer os.RemoveAll(thisConfig.RootDir) defer os.RemoveAll(thisConfig.RootDir)
ensureDir(t, path.Dir(thisConfig.Consensus.WalFile()), 0700) // dir for wal
app := kvstore.NewApplication() app := kvstore.NewApplication()
vals := types.TM2PB.ValidatorUpdates(state.Validators) vals := types.TM2PB.ValidatorUpdates(state.Validators)
app.InitChain(abci.RequestInitChain{Validators: vals}) app.InitChain(abci.RequestInitChain{Validators: vals})
@ -564,7 +562,6 @@ func TestReactorCreatesBlockWhenEmptyBlocksFalse(t *testing.T) {
c.Consensus.CreateEmptyBlocks = false c.Consensus.CreateEmptyBlocks = false
}, },
) )
t.Cleanup(cleanup) t.Cleanup(cleanup)
rts := setup(ctx, t, n, states, 100) // buffer must be large enough to not deadlock rts := setup(ctx, t, n, states, 100) // buffer must be large enough to not deadlock


Loading…
Cancel
Save