@@ -6,7 +6,6 @@ package core
66import (
77 "fmt"
88 "math/big"
9- "os"
109 "testing"
1110 "time"
1211
@@ -21,8 +20,6 @@ import (
2120 "github.com/ethereum/go-ethereum/common"
2221 "github.com/ethereum/go-ethereum/crypto"
2322 "github.com/fsnotify/fsnotify"
24- "github.com/stretchr/testify/assert"
25- "github.com/stretchr/testify/require"
2623)
2724
2825var (
@@ -104,74 +101,74 @@ func awaitWatcherEventsSubside(watcher *fsnotify.Watcher, subsideTimeout time.Du
104101 <- done
105102}
106103
107- func TestTrieCleanJournal (t * testing.T ) {
108- require := require .New (t )
109- assert := assert .New (t )
110-
111- trieCleanJournal := t .TempDir ()
112- trieCleanJournalWatcher , err := fsnotify .NewWatcher ()
113- require .NoError (err )
114- defer func () {
115- assert .NoError (trieCleanJournalWatcher .Close ())
116- }()
117- require .NoError (trieCleanJournalWatcher .Add (trieCleanJournal ))
118-
119- create := func (db ethdb.Database , chainConfig * params.ChainConfig , lastAcceptedHash common.Hash ) (* BlockChain , error ) {
120- config := * archiveConfig
121- config .TrieCleanJournal = trieCleanJournal
122- config .TrieCleanRejournal = 100 * time .Millisecond
123- return createBlockChain (db , & config , chainConfig , lastAcceptedHash )
124- }
125-
126- var (
127- key1 , _ = crypto .HexToECDSA ("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291" )
128- key2 , _ = crypto .HexToECDSA ("8a1f9a8f95be41cd7ccb6168179afb4504aefe388d1e14474d32c45c72ce7b7a" )
129- addr1 = crypto .PubkeyToAddress (key1 .PublicKey )
130- addr2 = crypto .PubkeyToAddress (key2 .PublicKey )
131- // We use two separate databases since GenerateChain commits the state roots to its underlying
132- // database.
133- genDB = rawdb .NewMemoryDatabase ()
134- chainDB = rawdb .NewMemoryDatabase ()
135- )
136-
137- // Ensure that key1 has some funds in the genesis block.
138- genesisBalance := big .NewInt (1000000 )
139- gspec := & Genesis {
140- Config : & params.ChainConfig {HomesteadBlock : new (big.Int )},
141- Alloc : GenesisAlloc {addr1 : {Balance : genesisBalance }},
142- }
143- genesis := gspec .MustCommit (genDB )
144- _ = gspec .MustCommit (chainDB )
145-
146- blockchain , err := create (chainDB , gspec .Config , common.Hash {})
147- require .NoError (err )
148- defer blockchain .Stop ()
149-
150- // This call generates a chain of 3 blocks.
151- signer := types.HomesteadSigner {}
152- // Generate chain of blocks using [genDB] instead of [chainDB] to avoid writing
153- // to the BlockChain's database while generating blocks.
154- chain , _ , err := GenerateChain (gspec .Config , genesis , blockchain .engine , genDB , 3 , 10 , func (i int , gen * BlockGen ) {
155- tx , _ := types .SignTx (types .NewTransaction (gen .TxNonce (addr1 ), addr2 , big .NewInt (10000 ), params .TxGas , nil , nil ), signer , key1 )
156- gen .AddTx (tx )
157- })
158- require .NoError (err )
159-
160- // Insert and accept the generated chain
161- _ , err = blockchain .InsertChain (chain )
162- require .NoError (err )
163-
164- for _ , block := range chain {
165- require .NoError (blockchain .Accept (block ))
166- }
167- blockchain .DrainAcceptorQueue ()
168-
169- awaitWatcherEventsSubside (trieCleanJournalWatcher , time .Second )
170- // Assert that a new file is created in the trie clean journal
171- dirEntries , err := os .ReadDir (trieCleanJournal )
172- require .NoError (err )
173- require .NotEmpty (dirEntries )
174- }
104+ // func TestTrieCleanJournal(t *testing.T) {
105+ // require := require.New(t)
106+ // assert := assert.New(t)
107+ //
108+ // trieCleanJournal := t.TempDir()
109+ // trieCleanJournalWatcher, err := fsnotify.NewWatcher()
110+ // require.NoError(err)
111+ // defer func() {
112+ // assert.NoError(trieCleanJournalWatcher.Close())
113+ // }()
114+ // require.NoError(trieCleanJournalWatcher.Add(trieCleanJournal))
115+ //
116+ // create := func(db ethdb.Database, chainConfig *params.ChainConfig, lastAcceptedHash common.Hash) (*BlockChain, error) {
117+ // config := *archiveConfig
118+ // config.TrieCleanJournal = trieCleanJournal
119+ // config.TrieCleanRejournal = 100 * time.Millisecond
120+ // return createBlockChain(db, &config, chainConfig, lastAcceptedHash)
121+ // }
122+ //
123+ // var (
124+ // key1, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291")
125+ // key2, _ = crypto.HexToECDSA("8a1f9a8f95be41cd7ccb6168179afb4504aefe388d1e14474d32c45c72ce7b7a")
126+ // addr1 = crypto.PubkeyToAddress(key1.PublicKey)
127+ // addr2 = crypto.PubkeyToAddress(key2.PublicKey)
128+ // // We use two separate databases since GenerateChain commits the state roots to its underlying
129+ // // database.
130+ // genDB = rawdb.NewMemoryDatabase()
131+ // chainDB = rawdb.NewMemoryDatabase()
132+ // )
133+ //
134+ // // Ensure that key1 has some funds in the genesis block.
135+ // genesisBalance := big.NewInt(1000000)
136+ // gspec := &Genesis{
137+ // Config: ¶ms.ChainConfig{HomesteadBlock: new(big.Int)},
138+ // Alloc: GenesisAlloc{addr1: {Balance: genesisBalance}},
139+ // }
140+ // genesis := gspec.MustCommit(genDB)
141+ // _ = gspec.MustCommit(chainDB)
142+ //
143+ // blockchain, err := create(chainDB, gspec.Config, common.Hash{})
144+ // require.NoError(err)
145+ // defer blockchain.Stop()
146+ //
147+ // // This call generates a chain of 3 blocks.
148+ // signer := types.HomesteadSigner{}
149+ // // Generate chain of blocks using [genDB] instead of [chainDB] to avoid writing
150+ // // to the BlockChain's database while generating blocks.
151+ // chain, _, err := GenerateChain(gspec.Config, genesis, blockchain.engine, genDB, 3, 10, func(i int, gen *BlockGen) {
152+ // tx, _ := types.SignTx(types.NewTransaction(gen.TxNonce(addr1), addr2, big.NewInt(10000), params.TxGas, nil, nil), signer, key1)
153+ // gen.AddTx(tx)
154+ // })
155+ // require.NoError(err)
156+ //
157+ // // Insert and accept the generated chain
158+ // _, err = blockchain.InsertChain(chain)
159+ // require.NoError(err)
160+ //
161+ // for _, block := range chain {
162+ // require.NoError(blockchain.Accept(block))
163+ // }
164+ // blockchain.DrainAcceptorQueue()
165+ //
166+ // awaitWatcherEventsSubside(trieCleanJournalWatcher, time.Second)
167+ // // Assert that a new file is created in the trie clean journal
168+ // dirEntries, err := os.ReadDir(trieCleanJournal)
169+ // require.NoError(err)
170+ // require.NotEmpty(dirEntries)
171+ // }
175172
176173func TestArchiveBlockChainSnapsDisabled (t * testing.T ) {
177174 create := func (db ethdb.Database , chainConfig * params.ChainConfig , lastAcceptedHash common.Hash ) (* BlockChain , error ) {
0 commit comments