Browse Source

qa: Fix replace-by-fee race condition failures

0.16
Suhas Daftuar 7 years ago
parent
commit
c96b2e4f09
  1. 11
      test/functional/replace-by-fee.py

11
test/functional/replace-by-fee.py

@ -72,6 +72,10 @@ class ReplaceByFeeTest(BitcoinTestFramework): @@ -72,6 +72,10 @@ class ReplaceByFeeTest(BitcoinTestFramework):
["-mempoolreplacement=0"]]
def run_test(self):
# Leave IBD and ensure nodes are synced
self.nodes[0].generate(1)
self.sync_all()
make_utxo(self.nodes[0], 1*COIN)
self.log.info("Running test simple doublespend...")
@ -110,13 +114,18 @@ class ReplaceByFeeTest(BitcoinTestFramework): @@ -110,13 +114,18 @@ class ReplaceByFeeTest(BitcoinTestFramework):
"""Simple doublespend"""
tx0_outpoint = make_utxo(self.nodes[0], int(1.1*COIN))
# make_utxo may have generated a bunch of blocks, so we need to sync
# before we can spend the coins generated, or else the resulting
# transactions might not be accepted by our peers.
self.sync_all()
tx1a = CTransaction()
tx1a.vin = [CTxIn(tx0_outpoint, nSequence=0)]
tx1a.vout = [CTxOut(1*COIN, CScript([b'a']))]
tx1a_hex = txToHex(tx1a)
tx1a_txid = self.nodes[0].sendrawtransaction(tx1a_hex, True)
self.sync_all([self.nodes])
self.sync_all()
# Should fail because we haven't changed the fee
tx1b = CTransaction()

Loading…
Cancel
Save