Browse Source

Clean up temp files more thoroughly after testing. (#7815)

Our test cases spew a lot of files and directories around $TMPDIR.  Make more
thorough use of the testing package's TempDir methods to ensure these are
cleaned up.

In a few cases, this required plumbing test contexts through existing helper
code. In a couple places an explicit path was required, to work around cases
where we do global setup during a TestMain function. Those cases probably
deserve more thorough cleansing (preferably with fire), but for now I have just
worked around it to keep focused on the cleanup.
pull/7820/head
M. J. Fromberger 2 years ago
committed by GitHub
parent
commit
7e09c2ef43
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 149 additions and 213 deletions
  1. +3
    -13
      abci/example/kvstore/kvstore_test.go
  2. +1
    -1
      cmd/tendermint/commands/reindex_event_test.go
  3. +1
    -1
      cmd/tendermint/commands/rollback_test.go
  4. +4
    -4
      config/toml.go
  5. +2
    -4
      config/toml_test.go
  6. +4
    -4
      internal/blocksync/reactor_test.go
  7. +1
    -1
      internal/consensus/byzantine_test.go
  8. +13
    -14
      internal/consensus/common_test.go
  9. +3
    -3
      internal/consensus/mempool_test.go
  10. +1
    -1
      internal/consensus/reactor_test.go
  11. +6
    -6
      internal/consensus/replay_test.go
  12. +9
    -18
      internal/consensus/types/height_vote_set_test.go
  13. +1
    -1
      internal/consensus/wal_generator.go
  14. +2
    -2
      internal/inspect/inspect_test.go
  15. +3
    -9
      internal/libs/autofile/autofile_test.go
  16. +2
    -5
      internal/libs/autofile/group_test.go
  17. +1
    -1
      internal/libs/tempfile/tempfile_test.go
  18. +1
    -1
      internal/mempool/mempool_test.go
  19. +1
    -1
      internal/mempool/reactor_test.go
  20. +1
    -5
      internal/state/indexer/tx/kv/kv_bench_test.go
  21. +1
    -4
      internal/state/indexer/tx/kv/kv_test.go
  22. +1
    -1
      internal/state/state_test.go
  23. +1
    -1
      internal/state/store_test.go
  24. +2
    -4
      internal/statesync/chunks_test.go
  25. +3
    -3
      internal/statesync/syncer_test.go
  26. +12
    -8
      internal/store/store_test.go
  27. +3
    -10
      libs/cli/setup_test.go
  28. +4
    -10
      libs/os/os_test.go
  29. +15
    -21
      light/example_test.go
  30. +6
    -16
      light/light_test.go
  31. +1
    -1
      light/provider/http/http_test.go
  32. +12
    -12
      node/node_test.go
  33. +12
    -12
      privval/file_test.go
  34. +1
    -1
      privval/socket_dialers_test.go
  35. +7
    -4
      privval/socket_listeners_test.go
  36. +2
    -2
      rpc/client/examples_test.go
  37. +2
    -5
      rpc/client/main_test.go
  38. +3
    -2
      rpc/test/helpers.go
  39. +1
    -1
      types/genesis_test.go

+ 3
- 13
abci/example/kvstore/kvstore_test.go View File

@ -3,7 +3,6 @@ package kvstore
import (
"context"
"fmt"
"os"
"sort"
"testing"
@ -72,10 +71,7 @@ func TestKVStoreKV(t *testing.T) {
}
func TestPersistentKVStoreKV(t *testing.T) {
dir, err := os.MkdirTemp("/tmp", "abci-kvstore-test") // TODO
if err != nil {
t.Fatal(err)
}
dir := t.TempDir()
logger := log.NewTestingLogger(t)
kvstore := NewPersistentKVStoreApplication(logger, dir)
@ -90,10 +86,7 @@ func TestPersistentKVStoreKV(t *testing.T) {
}
func TestPersistentKVStoreInfo(t *testing.T) {
dir, err := os.MkdirTemp("/tmp", "abci-kvstore-test") // TODO
if err != nil {
t.Fatal(err)
}
dir := t.TempDir()
logger := log.NewTestingLogger(t)
kvstore := NewPersistentKVStoreApplication(logger, dir)
@ -124,10 +117,7 @@ func TestPersistentKVStoreInfo(t *testing.T) {
// add a validator, remove a validator, update a validator
func TestValUpdates(t *testing.T) {
dir, err := os.MkdirTemp("/tmp", "abci-kvstore-test") // TODO
if err != nil {
t.Fatal(err)
}
dir := t.TempDir()
logger := log.NewTestingLogger(t)
kvstore := NewPersistentKVStoreApplication(logger, dir)


+ 1
- 1
cmd/tendermint/commands/reindex_event_test.go View File

@ -110,7 +110,7 @@ func TestLoadEventSink(t *testing.T) {
}
func TestLoadBlockStore(t *testing.T) {
testCfg, err := config.ResetTestRoot(t.Name())
testCfg, err := config.ResetTestRoot(t.TempDir(), t.Name())
require.NoError(t, err)
testCfg.DBBackend = "goleveldb"
_, _, err = loadStateAndBlockStore(testCfg)


+ 1
- 1
cmd/tendermint/commands/rollback_test.go View File

@ -19,7 +19,7 @@ func TestRollbackIntegration(t *testing.T) {
dir := t.TempDir()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := rpctest.CreateConfig(t.Name())
cfg, err := rpctest.CreateConfig(t, t.Name())
require.NoError(t, err)
cfg.BaseConfig.DBBackend = "goleveldb"


+ 4
- 4
config/toml.go View File

@ -504,13 +504,13 @@ namespace = "{{ .Instrumentation.Namespace }}"
/****** these are for test settings ***********/
func ResetTestRoot(testName string) (*Config, error) {
return ResetTestRootWithChainID(testName, "")
func ResetTestRoot(dir, testName string) (*Config, error) {
return ResetTestRootWithChainID(dir, testName, "")
}
func ResetTestRootWithChainID(testName string, chainID string) (*Config, error) {
func ResetTestRootWithChainID(dir, testName string, chainID string) (*Config, error) {
// create a unique, concurrency-safe test directory under os.TempDir()
rootDir, err := os.MkdirTemp("", fmt.Sprintf("%s-%s_", chainID, testName))
rootDir, err := os.MkdirTemp(dir, fmt.Sprintf("%s-%s_", chainID, testName))
if err != nil {
return nil, err
}


+ 2
- 4
config/toml_test.go View File

@ -20,9 +20,7 @@ func ensureFiles(t *testing.T, rootDir string, files ...string) {
func TestEnsureRoot(t *testing.T) {
// setup temp dir for test
tmpDir, err := os.MkdirTemp("", "config-test")
require.NoError(t, err)
defer os.RemoveAll(tmpDir)
tmpDir := t.TempDir()
// create root dir
EnsureRoot(tmpDir)
@ -42,7 +40,7 @@ func TestEnsureTestRoot(t *testing.T) {
testName := "ensureTestRoot"
// create root dir
cfg, err := ResetTestRoot(testName)
cfg, err := ResetTestRoot(t.TempDir(), testName)
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
rootDir := cfg.RootDir


+ 4
- 4
internal/blocksync/reactor_test.go View File

@ -203,7 +203,7 @@ func TestReactor_AbruptDisconnect(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("block_sync_reactor_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "block_sync_reactor_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -243,7 +243,7 @@ func TestReactor_SyncTime(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("block_sync_reactor_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "block_sync_reactor_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -271,7 +271,7 @@ func TestReactor_NoBlockResponse(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("block_sync_reactor_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "block_sync_reactor_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -323,7 +323,7 @@ func TestReactor_BadBlockStopsPeer(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("block_sync_reactor_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "block_sync_reactor_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)


+ 1
- 1
internal/consensus/byzantine_test.go View File

@ -60,7 +60,7 @@ func TestByzantinePrevoteEquivocation(t *testing.T) {
require.NoError(t, err)
require.NoError(t, stateStore.Save(state))
thisConfig, err := ResetConfig(fmt.Sprintf("%s_%d", testName, i))
thisConfig, err := ResetConfig(t.TempDir(), fmt.Sprintf("%s_%d", testName, i))
require.NoError(t, err)
defer os.RemoveAll(thisConfig.RootDir)


+ 13
- 14
internal/consensus/common_test.go View File

@ -50,23 +50,23 @@ type cleanupFunc func()
func configSetup(t *testing.T) *config.Config {
t.Helper()
cfg, err := ResetConfig("consensus_reactor_test")
cfg, err := ResetConfig(t.TempDir(), "consensus_reactor_test")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(cfg.RootDir) })
consensusReplayConfig, err := ResetConfig("consensus_replay_test")
consensusReplayConfig, err := ResetConfig(t.TempDir(), "consensus_replay_test")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(consensusReplayConfig.RootDir) })
configStateTest, err := ResetConfig("consensus_state_test")
configStateTest, err := ResetConfig(t.TempDir(), "consensus_state_test")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(configStateTest.RootDir) })
configMempoolTest, err := ResetConfig("consensus_mempool_test")
configMempoolTest, err := ResetConfig(t.TempDir(), "consensus_mempool_test")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(configMempoolTest.RootDir) })
configByzantineTest, err := ResetConfig("consensus_byzantine_test")
configByzantineTest, err := ResetConfig(t.TempDir(), "consensus_byzantine_test")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(configByzantineTest.RootDir) })
@ -78,8 +78,8 @@ func ensureDir(t *testing.T, dir string, mode os.FileMode) {
require.NoError(t, tmos.EnsureDir(dir, mode))
}
func ResetConfig(name string) (*config.Config, error) {
return config.ResetTestRoot(name)
func ResetConfig(dir, name string) (*config.Config, error) {
return config.ResetTestRoot(dir, name)
}
//-------------------------------------------------------------------------------
@ -422,7 +422,7 @@ func newState(
) *State {
t.Helper()
cfg, err := config.ResetTestRoot("consensus_state_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "consensus_state_test")
require.NoError(t, err)
return newStateWithConfig(ctx, t, logger, cfg, state, pv, app)
@ -769,7 +769,7 @@ func makeConsensusState(
blockStore := store.NewBlockStore(dbm.NewMemDB()) // each state needs its own db
state, err := sm.MakeGenesisState(genDoc)
require.NoError(t, err)
thisConfig, err := ResetConfig(fmt.Sprintf("%s_%d", testName, i))
thisConfig, err := ResetConfig(t.TempDir(), fmt.Sprintf("%s_%d", testName, i))
require.NoError(t, err)
configRootDirs = append(configRootDirs, thisConfig.RootDir)
@ -827,7 +827,7 @@ func randConsensusNetWithPeers(
configRootDirs := make([]string, 0, nPeers)
for i := 0; i < nPeers; i++ {
state, _ := sm.MakeGenesisState(genDoc)
thisConfig, err := ResetConfig(fmt.Sprintf("%s_%d", testName, i))
thisConfig, err := ResetConfig(t.TempDir(), fmt.Sprintf("%s_%d", testName, i))
require.NoError(t, err)
configRootDirs = append(configRootDirs, thisConfig.RootDir)
@ -839,10 +839,10 @@ func randConsensusNetWithPeers(
if i < nValidators {
privVal = privVals[i]
} else {
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
tempKeyFile, err := os.CreateTemp(t.TempDir(), "priv_validator_key_")
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
tempStateFile, err := os.CreateTemp(t.TempDir(), "priv_validator_state_")
require.NoError(t, err)
privVal, err = privval.GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
@ -946,8 +946,7 @@ func (*mockTicker) SetLogger(log.Logger) {}
func newPersistentKVStore(t *testing.T, logger log.Logger) abci.Application {
t.Helper()
dir, err := os.MkdirTemp("", "persistent-kvstore")
require.NoError(t, err)
dir := t.TempDir()
return kvstore.NewPersistentKVStoreApplication(logger, dir)
}


+ 3
- 3
internal/consensus/mempool_test.go View File

@ -35,7 +35,7 @@ func TestMempoolNoProgressUntilTxsAvailable(t *testing.T) {
baseConfig := configSetup(t)
config, err := ResetConfig("consensus_mempool_txs_available_test")
config, err := ResetConfig(t.TempDir(), "consensus_mempool_txs_available_test")
require.NoError(t, err)
t.Cleanup(func() { _ = os.RemoveAll(config.RootDir) })
@ -62,7 +62,7 @@ func TestMempoolProgressAfterCreateEmptyBlocksInterval(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
config, err := ResetConfig("consensus_mempool_txs_available_test")
config, err := ResetConfig(t.TempDir(), "consensus_mempool_txs_available_test")
require.NoError(t, err)
t.Cleanup(func() { _ = os.RemoveAll(config.RootDir) })
@ -87,7 +87,7 @@ func TestMempoolProgressInHigherRound(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
config, err := ResetConfig("consensus_mempool_txs_available_test")
config, err := ResetConfig(t.TempDir(), "consensus_mempool_txs_available_test")
require.NoError(t, err)
t.Cleanup(func() { _ = os.RemoveAll(config.RootDir) })


+ 1
- 1
internal/consensus/reactor_test.go View File

@ -391,7 +391,7 @@ func TestReactorWithEvidence(t *testing.T) {
stateStore := sm.NewStore(stateDB)
state, err := sm.MakeGenesisState(genDoc)
require.NoError(t, err)
thisConfig, err := ResetConfig(fmt.Sprintf("%s_%d", testName, i))
thisConfig, err := ResetConfig(t.TempDir(), fmt.Sprintf("%s_%d", testName, i))
require.NoError(t, err)
defer os.RemoveAll(thisConfig.RootDir)


+ 6
- 6
internal/consensus/replay_test.go View File

@ -142,7 +142,7 @@ func TestWALCrash(t *testing.T) {
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
consensusReplayConfig, err := ResetConfig(tc.name)
consensusReplayConfig, err := ResetConfig(t.TempDir(), tc.name)
require.NoError(t, err)
crashWALandCheckLiveness(ctx, t, consensusReplayConfig, tc.initFn, tc.heightToStop)
})
@ -709,7 +709,7 @@ func TestMockProxyApp(t *testing.T) {
func tempWALWithData(t *testing.T, data []byte) string {
t.Helper()
walFile, err := os.CreateTemp("", "wal")
walFile, err := os.CreateTemp(t.TempDir(), "wal")
require.NoError(t, err, "failed to create temp WAL file")
_, err = walFile.Write(data)
@ -743,7 +743,7 @@ func testHandshakeReplay(
logger := log.TestingLogger()
if testValidatorsChange {
testConfig, err := ResetConfig(fmt.Sprintf("%s_%v_m", t.Name(), mode))
testConfig, err := ResetConfig(t.TempDir(), fmt.Sprintf("%s_%v_m", t.Name(), mode))
require.NoError(t, err)
defer func() { _ = os.RemoveAll(testConfig.RootDir) }()
stateDB = dbm.NewMemDB()
@ -754,7 +754,7 @@ func testHandshakeReplay(
commits = sim.Commits
store = newMockBlockStore(t, cfg, genesisState.ConsensusParams)
} else { // test single node
testConfig, err := ResetConfig(fmt.Sprintf("%s_%v_s", t.Name(), mode))
testConfig, err := ResetConfig(t.TempDir(), fmt.Sprintf("%s_%v_s", t.Name(), mode))
require.NoError(t, err)
defer func() { _ = os.RemoveAll(testConfig.RootDir) }()
walBody, err := WALWithNBlocks(ctx, t, logger, numBlocks)
@ -1004,7 +1004,7 @@ func TestHandshakePanicsIfAppReturnsWrongAppHash(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := ResetConfig("handshake_test_")
cfg, err := ResetConfig(t.TempDir(), "handshake_test_")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(cfg.RootDir) })
privVal, err := privval.LoadFilePV(cfg.PrivValidator.KeyFile(), cfg.PrivValidator.StateFile())
@ -1288,7 +1288,7 @@ func TestHandshakeUpdatesValidators(t *testing.T) {
app := &initChainApp{vals: types.TM2PB.ValidatorUpdates(vals)}
clientCreator := abciclient.NewLocalCreator(app)
cfg, err := ResetConfig("handshake_test_")
cfg, err := ResetConfig(t.TempDir(), "handshake_test_")
require.NoError(t, err)
t.Cleanup(func() { _ = os.RemoveAll(cfg.RootDir) })


+ 9
- 18
internal/consensus/types/height_vote_set_test.go View File

@ -2,8 +2,6 @@ package types
import (
"context"
"log"
"os"
"testing"
"github.com/stretchr/testify/require"
@ -16,40 +14,33 @@ import (
"github.com/tendermint/tendermint/types"
)
var cfg *config.Config // NOTE: must be reset for each _test.go file
func TestMain(m *testing.M) {
var err error
cfg, err = config.ResetTestRoot("consensus_height_vote_set_test")
func TestPeerCatchupRounds(t *testing.T) {
cfg, err := config.ResetTestRoot(t.TempDir(), "consensus_height_vote_set_test")
if err != nil {
log.Fatal(err)
t.Fatal(err)
}
code := m.Run()
os.RemoveAll(cfg.RootDir)
os.Exit(code)
}
func TestPeerCatchupRounds(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
valSet, privVals := factory.ValidatorSet(ctx, t, 10, 1)
hvs := NewHeightVoteSet(cfg.ChainID(), 1, valSet)
chainID := cfg.ChainID()
hvs := NewHeightVoteSet(chainID, 1, valSet)
vote999_0 := makeVoteHR(ctx, t, 1, 0, 999, privVals)
vote999_0 := makeVoteHR(ctx, t, 1, 0, 999, privVals, chainID)
added, err := hvs.AddVote(vote999_0, "peer1")
if !added || err != nil {
t.Error("Expected to successfully add vote from peer", added, err)
}
vote1000_0 := makeVoteHR(ctx, t, 1, 0, 1000, privVals)
vote1000_0 := makeVoteHR(ctx, t, 1, 0, 1000, privVals, chainID)
added, err = hvs.AddVote(vote1000_0, "peer1")
if !added || err != nil {
t.Error("Expected to successfully add vote from peer", added, err)
}
vote1001_0 := makeVoteHR(ctx, t, 1, 0, 1001, privVals)
vote1001_0 := makeVoteHR(ctx, t, 1, 0, 1001, privVals, chainID)
added, err = hvs.AddVote(vote1001_0, "peer1")
if err != ErrGotVoteFromUnwantedRound {
t.Errorf("expected GotVoteFromUnwantedRoundError, but got %v", err)
@ -71,6 +62,7 @@ func makeVoteHR(
height int64,
valIndex, round int32,
privVals []types.PrivValidator,
chainID string,
) *types.Vote {
t.Helper()
@ -89,7 +81,6 @@ func makeVoteHR(
Type: tmproto.PrecommitType,
BlockID: types.BlockID{Hash: randBytes, PartSetHeader: types.PartSetHeader{}},
}
chainID := cfg.ChainID()
v := vote.ToProto()
err = privVal.SignVote(ctx, chainID, v)


+ 1
- 1
internal/consensus/wal_generator.go View File

@ -145,7 +145,7 @@ func makeAddrs() (p2pAddr, rpcAddr string) {
// getConfig returns a config for test cases
func getConfig(t *testing.T) *config.Config {
c, err := config.ResetTestRoot(t.Name())
c, err := config.ResetTestRoot(t.TempDir(), t.Name())
require.NoError(t, err)
p2pAddr, rpcAddr := makeAddrs()


+ 2
- 2
internal/inspect/inspect_test.go View File

@ -28,7 +28,7 @@ import (
)
func TestInspectConstructor(t *testing.T) {
cfg, err := config.ResetTestRoot("test")
cfg, err := config.ResetTestRoot(t.TempDir(), "test")
require.NoError(t, err)
testLogger := log.TestingLogger()
t.Cleanup(leaktest.Check(t))
@ -43,7 +43,7 @@ func TestInspectConstructor(t *testing.T) {
}
func TestInspectRun(t *testing.T) {
cfg, err := config.ResetTestRoot("test")
cfg, err := config.ResetTestRoot(t.TempDir(), "test")
require.NoError(t, err)
testLogger := log.TestingLogger()


+ 3
- 9
internal/libs/autofile/autofile_test.go View File

@ -25,11 +25,7 @@ func TestSIGHUP(t *testing.T) {
})
// First, create a temporary directory and move into it
dir, err := os.MkdirTemp("", "sighup_test")
require.NoError(t, err)
t.Cleanup(func() {
_ = os.RemoveAll(dir)
})
dir := t.TempDir()
require.NoError(t, os.Chdir(dir))
// Create an AutoFile in the temporary directory
@ -48,9 +44,7 @@ func TestSIGHUP(t *testing.T) {
require.NoError(t, os.Rename(name, name+"_old"))
// Move into a different temporary directory
otherDir, err := os.MkdirTemp("", "sighup_test_other")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(otherDir) })
otherDir := t.TempDir()
require.NoError(t, os.Chdir(otherDir))
// Send SIGHUP to self.
@ -112,7 +106,7 @@ func TestAutoFileSize(t *testing.T) {
defer cancel()
// First, create an AutoFile writing to a tempfile dir
f, err := os.CreateTemp("", "sighup_test")
f, err := os.CreateTemp(t.TempDir(), "sighup_test")
require.NoError(t, err)
require.NoError(t, f.Close())


+ 2
- 5
internal/libs/autofile/group_test.go View File

@ -132,11 +132,8 @@ func TestRotateFile(t *testing.T) {
}
}()
dir, err := os.MkdirTemp("", "rotate_test")
require.NoError(t, err)
defer os.RemoveAll(dir)
err = os.Chdir(dir)
require.NoError(t, err)
dir := t.TempDir()
require.NoError(t, os.Chdir(dir))
require.True(t, filepath.IsAbs(g.Head.Path))
require.True(t, filepath.IsAbs(g.Dir))


+ 1
- 1
internal/libs/tempfile/tempfile_test.go View File

@ -21,7 +21,7 @@ func TestWriteFileAtomic(t *testing.T) {
perm os.FileMode = 0600
)
f, err := os.CreateTemp("/tmp", "write-atomic-test-")
f, err := os.CreateTemp(t.TempDir(), "write-atomic-test-")
if err != nil {
t.Fatal(err)
}


+ 1
- 1
internal/mempool/mempool_test.go View File

@ -82,7 +82,7 @@ func setup(ctx context.Context, t testing.TB, cacheSize int, options ...TxMempoo
cc := abciclient.NewLocalCreator(app)
logger := log.TestingLogger()
cfg, err := config.ResetTestRoot(strings.ReplaceAll(t.Name(), "/", "|"))
cfg, err := config.ResetTestRoot(t.TempDir(), strings.ReplaceAll(t.Name(), "/", "|"))
require.NoError(t, err)
cfg.Mempool.CacheSize = cacheSize
appConnMem, err := cc(logger)


+ 1
- 1
internal/mempool/reactor_test.go View File

@ -41,7 +41,7 @@ type reactorTestSuite struct {
func setupReactors(ctx context.Context, t *testing.T, numNodes int, chBuf uint) *reactorTestSuite {
t.Helper()
cfg, err := config.ResetTestRoot(strings.ReplaceAll(t.Name(), "/", "|"))
cfg, err := config.ResetTestRoot(t.TempDir(), strings.ReplaceAll(t.Name(), "/", "|"))
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(cfg.RootDir) })


+ 1
- 5
internal/state/indexer/tx/kv/kv_bench_test.go View File

@ -4,7 +4,6 @@ import (
"context"
"crypto/rand"
"fmt"
"os"
"testing"
dbm "github.com/tendermint/tm-db"
@ -15,10 +14,7 @@ import (
)
func BenchmarkTxSearch(b *testing.B) {
dbDir, err := os.MkdirTemp("", "benchmark_tx_search_test")
if err != nil {
b.Errorf("failed to create temporary directory: %s", err)
}
dbDir := b.TempDir()
db, err := dbm.NewGoLevelDB("benchmark_tx_search_test", dbDir)
if err != nil {


+ 1
- 4
internal/state/indexer/tx/kv/kv_test.go View File

@ -3,7 +3,6 @@ package kv
import (
"context"
"fmt"
"os"
"testing"
"github.com/gogo/protobuf/proto"
@ -333,9 +332,7 @@ func txResultWithEvents(events []abci.Event) *abci.TxResult {
}
func benchmarkTxIndex(txsCount int64, b *testing.B) {
dir, err := os.MkdirTemp("", "tx_index_db")
require.NoError(b, err)
defer os.RemoveAll(dir)
dir := b.TempDir()
store, err := dbm.NewDB("tx_index", "goleveldb", dir)
require.NoError(b, err)


+ 1
- 1
internal/state/state_test.go View File

@ -26,7 +26,7 @@ import (
// setupTestCase does setup common to all test cases.
func setupTestCase(t *testing.T) (func(t *testing.T), dbm.DB, sm.State) {
cfg, err := config.ResetTestRoot("state_")
cfg, err := config.ResetTestRoot(t.TempDir(), "state_")
require.NoError(t, err)
dbType := dbm.BackendType(cfg.DBBackend)


+ 1
- 1
internal/state/store_test.go View File

@ -110,7 +110,7 @@ func TestStoreLoadValidators(t *testing.T) {
func BenchmarkLoadValidators(b *testing.B) {
const valSetSize = 100
cfg, err := config.ResetTestRoot("state_")
cfg, err := config.ResetTestRoot(b.TempDir(), "state_")
require.NoError(b, err)
defer os.RemoveAll(cfg.RootDir)


+ 2
- 4
internal/statesync/chunks_test.go View File

@ -18,7 +18,7 @@ func setupChunkQueue(t *testing.T) (*chunkQueue, func()) {
Hash: []byte{7},
Metadata: nil,
}
queue, err := newChunkQueue(snapshot, "")
queue, err := newChunkQueue(snapshot, t.TempDir())
require.NoError(t, err)
teardown := func() {
err := queue.Close()
@ -35,9 +35,7 @@ func TestNewChunkQueue_TempDir(t *testing.T) {
Hash: []byte{7},
Metadata: nil,
}
dir, err := os.MkdirTemp("", "newchunkqueue")
require.NoError(t, err)
defer os.RemoveAll(dir)
dir := t.TempDir()
queue, err := newChunkQueue(snapshot, dir)
require.NoError(t, err)


+ 3
- 3
internal/statesync/syncer_test.go View File

@ -503,7 +503,7 @@ func TestSyncer_applyChunks_Results(t *testing.T) {
rts := setup(ctx, t, nil, nil, stateProvider, 2)
body := []byte{1, 2, 3}
chunks, err := newChunkQueue(&snapshot{Height: 1, Format: 1, Chunks: 1}, "")
chunks, err := newChunkQueue(&snapshot{Height: 1, Format: 1, Chunks: 1}, t.TempDir())
require.NoError(t, err)
fetchStartTime := time.Now()
@ -562,7 +562,7 @@ func TestSyncer_applyChunks_RefetchChunks(t *testing.T) {
rts := setup(ctx, t, nil, nil, stateProvider, 2)
chunks, err := newChunkQueue(&snapshot{Height: 1, Format: 1, Chunks: 3}, "")
chunks, err := newChunkQueue(&snapshot{Height: 1, Format: 1, Chunks: 3}, t.TempDir())
require.NoError(t, err)
fetchStartTime := time.Now()
@ -660,7 +660,7 @@ func TestSyncer_applyChunks_RejectSenders(t *testing.T) {
_, err = rts.syncer.AddSnapshot(peerCID, s2)
require.NoError(t, err)
chunks, err := newChunkQueue(s1, "")
chunks, err := newChunkQueue(s1, t.TempDir())
require.NoError(t, err)
fetchStartTime := time.Now()


+ 12
- 8
internal/store/store_test.go View File

@ -46,8 +46,8 @@ func makeTestCommit(height int64, timestamp time.Time) *types.Commit {
commitSigs)
}
func makeStateAndBlockStore(logger log.Logger) (sm.State, *BlockStore, cleanupFunc, error) {
cfg, err := config.ResetTestRoot("blockchain_reactor_test")
func makeStateAndBlockStore(dir string, logger log.Logger) (sm.State, *BlockStore, cleanupFunc, error) {
cfg, err := config.ResetTestRoot(dir, "blockchain_reactor_test")
if err != nil {
return sm.State{}, nil, nil, err
}
@ -75,10 +75,13 @@ var (
)
func TestMain(m *testing.M) {
dir, err := os.MkdirTemp("", "store_test")
if err != nil {
stdlog.Fatal(err)
}
var cleanup cleanupFunc
var err error
state, _, cleanup, err = makeStateAndBlockStore(log.NewNopLogger())
state, _, cleanup, err = makeStateAndBlockStore(dir, log.NewNopLogger())
if err != nil {
stdlog.Fatal(err)
}
@ -97,12 +100,13 @@ func TestMain(m *testing.M) {
seenCommit1 = makeTestCommit(10, tmtime.Now())
code := m.Run()
cleanup()
os.RemoveAll(dir) // best-effort
os.Exit(code)
}
// TODO: This test should be simplified ...
func TestBlockStoreSaveLoadBlock(t *testing.T) {
state, bs, cleanup, err := makeStateAndBlockStore(log.NewNopLogger())
state, bs, cleanup, err := makeStateAndBlockStore(t.TempDir(), log.NewNopLogger())
defer cleanup()
require.NoError(t, err)
require.Equal(t, bs.Base(), int64(0), "initially the base should be zero")
@ -313,7 +317,7 @@ func TestBlockStoreSaveLoadBlock(t *testing.T) {
}
func TestLoadBaseMeta(t *testing.T) {
cfg, err := config.ResetTestRoot("blockchain_reactor_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "blockchain_reactor_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -373,7 +377,7 @@ func TestLoadBlockPart(t *testing.T) {
}
func TestPruneBlocks(t *testing.T) {
cfg, err := config.ResetTestRoot("blockchain_reactor_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "blockchain_reactor_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -494,7 +498,7 @@ func TestLoadBlockMeta(t *testing.T) {
}
func TestBlockFetchAtHeight(t *testing.T) {
state, bs, cleanup, err := makeStateAndBlockStore(log.NewNopLogger())
state, bs, cleanup, err := makeStateAndBlockStore(t.TempDir(), log.NewNopLogger())
defer cleanup()
require.NoError(t, err)
require.Equal(t, bs.Height(), int64(0), "initially the height should be zero")


+ 3
- 10
libs/cli/setup_test.go View File

@ -60,13 +60,6 @@ func TestSetupEnv(t *testing.T) {
}
}
func tempDir(t *testing.T) string {
t.Helper()
cdir, err := os.MkdirTemp("", "test-cli")
require.NoError(t, err)
return cdir
}
// writeConfigVals writes a toml file with the given values.
// It returns an error if writing was impossible.
func writeConfigVals(dir string, vals map[string]string) error {
@ -86,7 +79,7 @@ func TestSetupConfig(t *testing.T) {
// we pre-create two config files we can refer to in the rest of
// the test cases.
cval1 := "fubble"
conf1 := tempDir(t)
conf1 := t.TempDir()
err := writeConfigVals(conf1, map[string]string{"boo": cval1})
require.NoError(t, err)
@ -147,11 +140,11 @@ func TestSetupUnmarshal(t *testing.T) {
// we pre-create two config files we can refer to in the rest of
// the test cases.
cval1, cval2 := "someone", "else"
conf1 := tempDir(t)
conf1 := t.TempDir()
err := writeConfigVals(conf1, map[string]string{"name": cval1})
require.NoError(t, err)
// even with some ignored fields, should be no problem
conf2 := tempDir(t)
conf2 := t.TempDir()
err = writeConfigVals(conf2, map[string]string{"name": cval2, "foo": "bar"})
require.NoError(t, err)


+ 4
- 10
libs/os/os_test.go View File

@ -12,7 +12,7 @@ import (
)
func TestCopyFile(t *testing.T) {
tmpfile, err := os.CreateTemp("", "example")
tmpfile, err := os.CreateTemp(t.TempDir(), "example")
if err != nil {
t.Fatal(err)
}
@ -40,12 +40,10 @@ func TestCopyFile(t *testing.T) {
}
func TestEnsureDir(t *testing.T) {
tmp, err := os.MkdirTemp("", "ensure-dir")
require.NoError(t, err)
defer os.RemoveAll(tmp)
tmp := t.TempDir()
// Should be possible to create a new directory.
err = tmos.EnsureDir(filepath.Join(tmp, "dir"), 0755)
err := tmos.EnsureDir(filepath.Join(tmp, "dir"), 0755)
require.NoError(t, err)
require.DirExists(t, filepath.Join(tmp, "dir"))
@ -76,11 +74,7 @@ func TestEnsureDir(t *testing.T) {
// the origin is positively a non-directory and that it is ready for copying.
// See https://github.com/tendermint/tendermint/issues/6427
func TestTrickedTruncation(t *testing.T) {
tmpDir, err := os.MkdirTemp(os.TempDir(), "pwn_truncate")
if err != nil {
t.Fatal(err)
}
defer os.Remove(tmpDir)
tmpDir := t.TempDir()
originalWALPath := filepath.Join(tmpDir, "wal")
originalWALContent := []byte("I AM BECOME DEATH, DESTROYER OF ALL WORLDS!")


+ 15
- 21
light/example_test.go View File

@ -2,8 +2,7 @@ package light_test
import (
"context"
stdlog "log"
"os"
"testing"
"time"
dbm "github.com/tendermint/tm-db"
@ -17,17 +16,17 @@ import (
)
// Manually getting light blocks and verifying them.
func ExampleClient() {
func TestExampleClient(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
conf, err := rpctest.CreateConfig("ExampleClient_VerifyLightBlockAtHeight")
conf, err := rpctest.CreateConfig(t, "ExampleClient_VerifyLightBlockAtHeight")
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
logger, err := log.NewDefaultLogger(log.LogFormatPlain, log.LogLevelInfo)
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
// Start a test application
@ -35,21 +34,16 @@ func ExampleClient() {
_, closer, err := rpctest.StartTendermint(ctx, conf, app, rpctest.SuppressStdout)
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
defer func() { _ = closer(ctx) }()
dbDir, err := os.MkdirTemp("", "light-client-example")
if err != nil {
stdlog.Fatal(err)
}
defer os.RemoveAll(dbDir)
dbDir := t.TempDir()
chainID := conf.ChainID()
primary, err := httpp.New(chainID, conf.RPC.ListenAddress)
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
// give Tendermint time to generate some blocks
@ -57,12 +51,12 @@ func ExampleClient() {
block, err := primary.LightBlock(ctx, 2)
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
db, err := dbm.NewGoLevelDB("light-client-db", dbDir)
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
c, err := light.NewClient(ctx,
@ -78,11 +72,11 @@ func ExampleClient() {
light.Logger(logger),
)
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
defer func() {
if err := c.Cleanup(); err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
}()
@ -92,19 +86,19 @@ func ExampleClient() {
// veify the block at height 3
_, err = c.VerifyLightBlockAtHeight(ctx, 3, time.Now())
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
// retrieve light block at height 3
_, err = c.TrustedLightBlock(3)
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
// update to the latest height
lb, err := c.Update(ctx, time.Now())
if err != nil {
stdlog.Fatal(err)
t.Fatal(err)
}
logger.Info("verified light block", "light-block", lb)


+ 6
- 16
light/light_test.go View File

@ -2,7 +2,6 @@ package light_test
import (
"context"
"os"
"testing"
"time"
@ -28,7 +27,7 @@ func TestClientIntegration_Update(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
conf, err := rpctest.CreateConfig(t.Name())
conf, err := rpctest.CreateConfig(t, t.Name())
require.NoError(t, err)
logger := log.NewTestingLogger(t)
@ -42,10 +41,7 @@ func TestClientIntegration_Update(t *testing.T) {
// give Tendermint time to generate some blocks
time.Sleep(5 * time.Second)
dbDir, err := os.MkdirTemp("", "light-client-test-update-example")
require.NoError(t, err)
defer os.RemoveAll(dbDir)
dbDir := t.TempDir()
chainID := conf.ChainID()
primary, err := httpp.New(chainID, conf.RPC.ListenAddress)
@ -91,7 +87,7 @@ func TestClientIntegration_VerifyLightBlockAtHeight(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
conf, err := rpctest.CreateConfig(t.Name())
conf, err := rpctest.CreateConfig(t, t.Name())
require.NoError(t, err)
logger := log.NewTestingLogger(t)
@ -103,10 +99,7 @@ func TestClientIntegration_VerifyLightBlockAtHeight(t *testing.T) {
require.NoError(t, err)
defer func() { require.NoError(t, closer(ctx)) }()
dbDir, err := os.MkdirTemp("", "light-client-test-verify-example")
require.NoError(t, err)
defer os.RemoveAll(dbDir)
dbDir := t.TempDir()
chainID := conf.ChainID()
primary, err := httpp.New(chainID, conf.RPC.ListenAddress)
@ -171,7 +164,7 @@ func waitForBlock(ctx context.Context, p provider.Provider, height int64) (*type
func TestClientStatusRPC(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
conf, err := rpctest.CreateConfig(t.Name())
conf, err := rpctest.CreateConfig(t, t.Name())
require.NoError(t, err)
// Start a test application
@ -181,10 +174,7 @@ func TestClientStatusRPC(t *testing.T) {
require.NoError(t, err)
defer func() { require.NoError(t, closer(ctx)) }()
dbDir, err := os.MkdirTemp("", "light-client-test-status-example")
require.NoError(t, err)
t.Cleanup(func() { os.RemoveAll(dbDir) })
dbDir := t.TempDir()
chainID := conf.ChainID()
primary, err := httpp.New(chainID, conf.RPC.ListenAddress)


+ 1
- 1
light/provider/http/http_test.go View File

@ -35,7 +35,7 @@ func TestNewProvider(t *testing.T) {
func TestProvider(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := rpctest.CreateConfig(t.Name())
cfg, err := rpctest.CreateConfig(t, t.Name())
require.NoError(t, err)
// start a tendermint node in the background to test against


+ 12
- 12
node/node_test.go View File

@ -39,7 +39,7 @@ import (
)
func TestNodeStartStop(t *testing.T) {
cfg, err := config.ResetTestRoot("node_node_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_node_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -104,7 +104,7 @@ func getTestNode(ctx context.Context, t *testing.T, conf *config.Config, logger
}
func TestNodeDelayedStart(t *testing.T) {
cfg, err := config.ResetTestRoot("node_delayed_start_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_delayed_start_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -126,7 +126,7 @@ func TestNodeDelayedStart(t *testing.T) {
}
func TestNodeSetAppVersion(t *testing.T) {
cfg, err := config.ResetTestRoot("node_app_version_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_app_version_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -159,7 +159,7 @@ func TestNodeSetPrivValTCP(t *testing.T) {
logger := log.NewNopLogger()
cfg, err := config.ResetTestRoot("node_priv_val_tcp_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_priv_val_tcp_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
cfg.PrivValidator.ListenAddr = addr
@ -196,7 +196,7 @@ func TestPrivValidatorListenAddrNoProtocol(t *testing.T) {
addrNoPrefix := testFreeAddr(t)
cfg, err := config.ResetTestRoot("node_priv_val_tcp_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_priv_val_tcp_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
cfg.PrivValidator.ListenAddr = addrNoPrefix
@ -220,7 +220,7 @@ func TestNodeSetPrivValIPC(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("node_priv_val_tcp_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_priv_val_tcp_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
cfg.PrivValidator.ListenAddr = "unix://" + tmpfile
@ -267,7 +267,7 @@ func TestCreateProposalBlock(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("node_create_proposal")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_create_proposal")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -364,7 +364,7 @@ func TestMaxTxsProposalBlockSize(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("node_create_proposal")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_create_proposal")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -432,7 +432,7 @@ func TestMaxProposalBlockSize(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cfg, err := config.ResetTestRoot("node_create_proposal")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_create_proposal")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -547,7 +547,7 @@ func TestMaxProposalBlockSize(t *testing.T) {
}
func TestNodeNewSeedNode(t *testing.T) {
cfg, err := config.ResetTestRoot("node_new_node_custom_reactors_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_new_node_custom_reactors_test")
require.NoError(t, err)
cfg.Mode = config.ModeSeed
defer os.RemoveAll(cfg.RootDir)
@ -585,7 +585,7 @@ func TestNodeNewSeedNode(t *testing.T) {
}
func TestNodeSetEventSink(t *testing.T) {
cfg, err := config.ResetTestRoot("node_app_version_test")
cfg, err := config.ResetTestRoot(t.TempDir(), "node_app_version_test")
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir)
@ -725,7 +725,7 @@ func loadStatefromGenesis(ctx context.Context, t *testing.T) sm.State {
stateDB := dbm.NewMemDB()
stateStore := sm.NewStore(stateDB)
cfg, err := config.ResetTestRoot("load_state_from_genesis")
cfg, err := config.ResetTestRoot(t.TempDir(), "load_state_from_genesis")
require.NoError(t, err)
loadedState, err := stateStore.Load()


+ 12
- 12
privval/file_test.go View File

@ -21,9 +21,9 @@ import (
)
func TestGenLoadValidator(t *testing.T) {
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
tempKeyFile, err := os.CreateTemp(t.TempDir(), "priv_validator_key_")
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
tempStateFile, err := os.CreateTemp(t.TempDir(), "priv_validator_state_")
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
@ -44,9 +44,9 @@ func TestResetValidator(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
tempKeyFile, err := os.CreateTemp(t.TempDir(), "priv_validator_key_")
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
tempStateFile, err := os.CreateTemp(t.TempDir(), "priv_validator_state_")
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
@ -74,9 +74,9 @@ func TestResetValidator(t *testing.T) {
}
func TestLoadOrGenValidator(t *testing.T) {
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
tempKeyFile, err := os.CreateTemp(t.TempDir(), "priv_validator_key_")
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
tempStateFile, err := os.CreateTemp(t.TempDir(), "priv_validator_state_")
require.NoError(t, err)
tempKeyFilePath := tempKeyFile.Name()
@ -160,9 +160,9 @@ func TestSignVote(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
tempKeyFile, err := os.CreateTemp(t.TempDir(), "priv_validator_key_")
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
tempStateFile, err := os.CreateTemp(t.TempDir(), "priv_validator_state_")
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
@ -215,9 +215,9 @@ func TestSignProposal(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
tempKeyFile, err := os.CreateTemp(t.TempDir(), "priv_validator_key_")
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
tempStateFile, err := os.CreateTemp(t.TempDir(), "priv_validator_state_")
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
@ -263,9 +263,9 @@ func TestDifferByTimestamp(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
tempKeyFile, err := os.CreateTemp(t.TempDir(), "priv_validator_key_")
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
tempStateFile, err := os.CreateTemp(t.TempDir(), "priv_validator_state_")
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")


+ 1
- 1
privval/socket_dialers_test.go View File

@ -23,7 +23,7 @@ func getFreeLocalhostAddrPort(t *testing.T) string {
func getDialerTestCases(t *testing.T) []dialerTestCase {
tcpAddr := getFreeLocalhostAddrPort(t)
unixFilePath, err := testUnixAddr()
unixFilePath, err := testUnixAddr(t)
require.NoError(t, err)
unixAddr := fmt.Sprintf("unix://%s", unixFilePath)


+ 7
- 4
privval/socket_listeners_test.go View File

@ -28,14 +28,17 @@ type listenerTestCase struct {
// testUnixAddr will attempt to obtain a platform-independent temporary file
// name for a Unix socket
func testUnixAddr() (string, error) {
f, err := os.CreateTemp("", "tendermint-privval-test-*")
func testUnixAddr(t *testing.T) (string, error) {
// N.B. We can't use t.TempDir here because socket filenames have a
// restrictive length limit (~100 bytes) for silly historical reasons.
f, err := os.CreateTemp("", "tendermint-privval-test-*.sock")
if err != nil {
return "", err
}
addr := f.Name()
f.Close()
os.Remove(addr)
os.Remove(addr) // remove so the test can bind it
t.Cleanup(func() { os.Remove(addr) }) // clean up after the test
return addr, nil
}
@ -56,7 +59,7 @@ func tcpListenerTestCase(t *testing.T, timeoutAccept, timeoutReadWrite time.Dura
}
func unixListenerTestCase(t *testing.T, timeoutAccept, timeoutReadWrite time.Duration) listenerTestCase {
addr, err := testUnixAddr()
addr, err := testUnixAddr(t)
if err != nil {
t.Fatal(err)
}


+ 2
- 2
rpc/client/examples_test.go View File

@ -22,7 +22,7 @@ func TestHTTPSimple(t *testing.T) {
// Start a tendermint node (and kvstore) in the background to test against
app := kvstore.NewApplication()
conf, err := rpctest.CreateConfig("ExampleHTTP_simple")
conf, err := rpctest.CreateConfig(t, "ExampleHTTP_simple")
require.NoError(t, err)
_, closer, err := rpctest.StartTendermint(ctx, conf, app, rpctest.SuppressStdout)
@ -72,7 +72,7 @@ func TestHTTPBatching(t *testing.T) {
// Start a tendermint node (and kvstore) in the background to test against
app := kvstore.NewApplication()
conf, err := rpctest.CreateConfig("ExampleHTTP_batching")
conf, err := rpctest.CreateConfig(t, "ExampleHTTP_batching")
require.NoError(t, err)
_, closer, err := rpctest.StartTendermint(ctx, conf, app, rpctest.SuppressStdout)


+ 2
- 5
rpc/client/main_test.go View File

@ -2,7 +2,6 @@ package client_test
import (
"context"
"fmt"
"os"
"testing"
@ -20,13 +19,11 @@ func NodeSuite(t *testing.T, logger log.Logger) (service.Service, *config.Config
ctx, cancel := context.WithCancel(context.Background())
conf, err := rpctest.CreateConfig(t.Name())
conf, err := rpctest.CreateConfig(t, t.Name())
require.NoError(t, err)
// start a tendermint node in the background to test against
dir, err := os.MkdirTemp("/tmp", fmt.Sprint("rpc-client-test-", t.Name()))
require.NoError(t, err)
dir := t.TempDir()
app := kvstore.NewPersistentKVStoreApplication(logger, dir)
node, closer, err := rpctest.StartTendermint(ctx, conf, app, rpctest.SuppressStdout)


+ 3
- 2
rpc/test/helpers.go View File

@ -4,6 +4,7 @@ import (
"context"
"fmt"
"os"
"testing"
"time"
abciclient "github.com/tendermint/tendermint/abci/client"
@ -57,8 +58,8 @@ func makeAddrs() (p2pAddr, rpcAddr string) {
return fmt.Sprintf(addrTemplate, randPort()), fmt.Sprintf(addrTemplate, randPort())
}
func CreateConfig(testName string) (*config.Config, error) {
c, err := config.ResetTestRoot(testName)
func CreateConfig(t *testing.T, testName string) (*config.Config, error) {
c, err := config.ResetTestRoot(t.TempDir(), testName)
if err != nil {
return nil, err
}


+ 1
- 1
types/genesis_test.go View File

@ -126,7 +126,7 @@ func TestBasicGenesisDoc(t *testing.T) {
}
func TestGenesisSaveAs(t *testing.T) {
tmpfile, err := os.CreateTemp("", "genesis")
tmpfile, err := os.CreateTemp(t.TempDir(), "genesis")
require.NoError(t, err)
defer os.Remove(tmpfile.Name())


Loading…
Cancel
Save