aboutsummaryrefslogtreecommitdiffstats
path: root/core/tx_pool_test.go
diff options
context:
space:
mode:
authorBJ4 <bojie@dexon.org>2018-11-09 12:08:17 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:53 +0800
commit07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8 (patch)
treee045d29c9b1b9cd074a51ba8ef9eebe9a7e8c15e /core/tx_pool_test.go
parent39ccaa58fd25cac9d2f85823f2ea56cd65cb06b7 (diff)
downloaddexon-07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8.tar
dexon-07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8.tar.gz
dexon-07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8.tar.bz2
dexon-07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8.tar.lz
dexon-07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8.tar.xz
dexon-07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8.tar.zst
dexon-07da8c75d1a8f9557f73eff4d6cb74e4047ea7b8.zip
app: fix core test
Diffstat (limited to 'core/tx_pool_test.go')
-rw-r--r--core/tx_pool_test.go43
1 files changed, 24 insertions, 19 deletions
diff --git a/core/tx_pool_test.go b/core/tx_pool_test.go
index 0ef926d1d..2cc6c7903 100644
--- a/core/tx_pool_test.go
+++ b/core/tx_pool_test.go
@@ -47,6 +47,7 @@ func init() {
type testBlockChain struct {
statedb *state.StateDB
gasLimit uint64
+ chainHeadFeed *event.Feed
blockConfirmedFeed *event.Feed
}
@@ -64,6 +65,10 @@ func (bc *testBlockChain) StateAt(common.Hash) (*state.StateDB, error) {
return bc.statedb, nil
}
+func (bc *testBlockChain) SubscribeChainHeadEvent(ch chan<- ChainHeadEvent) event.Subscription {
+ return bc.chainHeadFeed.Subscribe(ch)
+}
+
func (bc *testBlockChain) SubscribeBlockConfirmedEvent(ch chan<- BlockConfirmedEvent) event.Subscription {
return bc.blockConfirmedFeed.Subscribe(ch)
}
@@ -79,7 +84,7 @@ func pricedTransaction(nonce uint64, gaslimit uint64, gasprice *big.Int, key *ec
func setupTxPool() (*TxPool, *ecdsa.PrivateKey) {
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
key, _ := crypto.GenerateKey()
pool := NewTxPool(testTxPoolConfig, params.TestChainConfig, blockchain)
@@ -187,7 +192,7 @@ func TestStateChangeDuringTransactionPoolReset(t *testing.T) {
// setup pool with 2 transaction in it
statedb.SetBalance(address, new(big.Int).SetUint64(params.Ether))
- blockchain := &testChain{&testBlockChain{statedb, 1000000000, new(event.Feed)}, address, &trigger}
+ blockchain := &testChain{&testBlockChain{statedb, 1000000000, new(event.Feed), new(event.Feed)}, address, &trigger}
tx0 := transaction(0, 100000, key)
tx1 := transaction(1, 100000, key)
@@ -338,7 +343,7 @@ func TestTransactionChainFork(t *testing.T) {
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
statedb.AddBalance(addr, big.NewInt(100000000000000))
- pool.chain = &testBlockChain{statedb, 1000000, new(event.Feed)}
+ pool.chain = &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool.lockedReset(nil, nil)
}
resetState()
@@ -367,7 +372,7 @@ func TestTransactionDoubleNonce(t *testing.T) {
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
statedb.AddBalance(addr, big.NewInt(100000000000000))
- pool.chain = &testBlockChain{statedb, 1000000, new(event.Feed)}
+ pool.chain = &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool.lockedReset(nil, nil)
}
resetState()
@@ -555,7 +560,7 @@ func TestTransactionPostponing(t *testing.T) {
// Create the pool to test the postponing with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool := NewTxPool(testTxPoolConfig, params.TestChainConfig, blockchain)
defer pool.Stop()
@@ -770,7 +775,7 @@ func testTransactionQueueGlobalLimiting(t *testing.T, nolocals bool) {
// Create the pool to test the limit enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.NoLocals = nolocals
@@ -858,7 +863,7 @@ func testTransactionQueueTimeLimiting(t *testing.T, nolocals bool) {
// Create the pool to test the non-expiration enforcement
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.Lifetime = time.Second
@@ -1012,7 +1017,7 @@ func TestTransactionPendingGlobalLimiting(t *testing.T) {
// Create the pool to test the limit enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.GlobalSlots = config.AccountSlots * 10
@@ -1058,7 +1063,7 @@ func TestTransactionCapClearsFromAll(t *testing.T) {
// Create the pool to test the limit enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.AccountSlots = 2
@@ -1092,7 +1097,7 @@ func TestTransactionPendingMinimumAllowance(t *testing.T) {
// Create the pool to test the limit enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.GlobalSlots = 1
@@ -1140,7 +1145,7 @@ func TestTransactionPoolRepricing(t *testing.T) {
// Create the pool to test the pricing enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool := NewTxPool(testTxPoolConfig, params.TestChainConfig, blockchain)
defer pool.Stop()
@@ -1261,7 +1266,7 @@ func TestTransactionPoolRepricingKeepsLocals(t *testing.T) {
// Create the pool to test the pricing enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool := NewTxPool(testTxPoolConfig, params.TestChainConfig, blockchain)
defer pool.Stop()
@@ -1323,7 +1328,7 @@ func TestTransactionPoolUnderpricing(t *testing.T) {
// Create the pool to test the pricing enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.GlobalSlots = 2
@@ -1429,7 +1434,7 @@ func TestTransactionPoolStableUnderpricing(t *testing.T) {
// Create the pool to test the pricing enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.GlobalSlots = 128
@@ -1495,7 +1500,7 @@ func TestTransactionReplacement(t *testing.T) {
// Create the pool to test the pricing enforcement with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool := NewTxPool(testTxPoolConfig, params.TestChainConfig, blockchain)
defer pool.Stop()
@@ -1589,7 +1594,7 @@ func testTransactionJournaling(t *testing.T, nolocals bool) {
// Create the original pool to inject transaction into the journal
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
config := testTxPoolConfig
config.NoLocals = nolocals
@@ -1631,7 +1636,7 @@ func testTransactionJournaling(t *testing.T, nolocals bool) {
// Terminate the old pool, bump the local nonce, create a new pool and ensure relevant transaction survive
pool.Stop()
statedb.SetNonce(crypto.PubkeyToAddress(local.PublicKey), 1)
- blockchain = &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain = &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool = NewTxPool(config, params.TestChainConfig, blockchain)
@@ -1658,7 +1663,7 @@ func testTransactionJournaling(t *testing.T, nolocals bool) {
pool.Stop()
statedb.SetNonce(crypto.PubkeyToAddress(local.PublicKey), 1)
- blockchain = &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain = &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool = NewTxPool(config, params.TestChainConfig, blockchain)
pending, queued = pool.Stats()
@@ -1687,7 +1692,7 @@ func TestTransactionStatusCheck(t *testing.T) {
// Create the pool to test the status retrievals with
statedb, _ := state.New(common.Hash{}, state.NewDatabase(ethdb.NewMemDatabase()))
- blockchain := &testBlockChain{statedb, 1000000, new(event.Feed)}
+ blockchain := &testBlockChain{statedb, 1000000, new(event.Feed), new(event.Feed)}
pool := NewTxPool(testTxPoolConfig, params.TestChainConfig, blockchain)
defer pool.Stop()