mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-15 11:36:00 -05:00
test: refactor: use create_lots_of_big_transactions
to dedup where possible
This commit is contained in:
parent
8973eeb412
commit
b167e536d0
2 changed files with 4 additions and 19 deletions
|
@ -7,12 +7,12 @@
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
from test_framework.blocktools import COINBASE_MATURITY
|
from test_framework.blocktools import COINBASE_MATURITY
|
||||||
from test_framework.messages import COIN
|
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
from test_framework.util import (
|
from test_framework.util import (
|
||||||
assert_equal,
|
assert_equal,
|
||||||
assert_greater_than,
|
assert_greater_than,
|
||||||
assert_raises_rpc_error,
|
assert_raises_rpc_error,
|
||||||
|
create_lots_of_big_transactions,
|
||||||
gen_return_txouts,
|
gen_return_txouts,
|
||||||
)
|
)
|
||||||
from test_framework.wallet import MiniWallet
|
from test_framework.wallet import MiniWallet
|
||||||
|
@ -29,16 +29,6 @@ class MempoolLimitTest(BitcoinTestFramework):
|
||||||
]]
|
]]
|
||||||
self.supports_cli = False
|
self.supports_cli = False
|
||||||
|
|
||||||
def send_large_txs(self, node, miniwallet, txouts, fee, tx_batch_size):
|
|
||||||
for _ in range(tx_batch_size):
|
|
||||||
tx = miniwallet.create_self_transfer(from_node=node, fee_rate=0, mempool_valid=False)['tx']
|
|
||||||
for txout in txouts:
|
|
||||||
tx.vout.append(txout)
|
|
||||||
tx.vout[0].nValue -= int(fee * COIN)
|
|
||||||
res = node.testmempoolaccept([tx.serialize().hex()])[0]
|
|
||||||
assert_equal(res['fees']['base'], fee)
|
|
||||||
miniwallet.sendrawtransaction(from_node=node, tx_hex=tx.serialize().hex())
|
|
||||||
|
|
||||||
def run_test(self):
|
def run_test(self):
|
||||||
txouts = gen_return_txouts()
|
txouts = gen_return_txouts()
|
||||||
node = self.nodes[0]
|
node = self.nodes[0]
|
||||||
|
@ -71,7 +61,7 @@ class MempoolLimitTest(BitcoinTestFramework):
|
||||||
self.log.info("Fill up the mempool with txs with higher fee rate")
|
self.log.info("Fill up the mempool with txs with higher fee rate")
|
||||||
for batch_of_txid in range(num_of_batches):
|
for batch_of_txid in range(num_of_batches):
|
||||||
fee = (batch_of_txid + 1) * base_fee
|
fee = (batch_of_txid + 1) * base_fee
|
||||||
self.send_large_txs(node, miniwallet, txouts, fee, tx_batch_size)
|
create_lots_of_big_transactions(miniwallet, node, fee, tx_batch_size, txouts)
|
||||||
|
|
||||||
self.log.info('The tx should be evicted by now')
|
self.log.info('The tx should be evicted by now')
|
||||||
# The number of transactions created should be greater than the ones present in the mempool
|
# The number of transactions created should be greater than the ones present in the mempool
|
||||||
|
|
|
@ -575,13 +575,8 @@ def mine_large_block(test_framework, mini_wallet, node):
|
||||||
# generate a 66k transaction,
|
# generate a 66k transaction,
|
||||||
# and 14 of them is close to the 1MB block limit
|
# and 14 of them is close to the 1MB block limit
|
||||||
txouts = gen_return_txouts()
|
txouts = gen_return_txouts()
|
||||||
from .messages import COIN
|
fee = 100 * node.getnetworkinfo()["relayfee"]
|
||||||
fee = 100 * int(node.getnetworkinfo()["relayfee"] * COIN)
|
create_lots_of_big_transactions(mini_wallet, node, fee, 14, txouts)
|
||||||
for _ in range(14):
|
|
||||||
tx = mini_wallet.create_self_transfer(from_node=node, fee_rate=0, mempool_valid=False)['tx']
|
|
||||||
tx.vout[0].nValue -= fee
|
|
||||||
tx.vout.extend(txouts)
|
|
||||||
mini_wallet.sendrawtransaction(from_node=node, tx_hex=tx.serialize().hex())
|
|
||||||
test_framework.generate(node, 1)
|
test_framework.generate(node, 1)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue