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):
["-mempoolreplacement=0"]] ["-mempoolreplacement=0"]]
def run_test(self): 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) make_utxo(self.nodes[0], 1*COIN)
self.log.info("Running test simple doublespend...") self.log.info("Running test simple doublespend...")
@ -110,13 +114,18 @@ class ReplaceByFeeTest(BitcoinTestFramework):
"""Simple doublespend""" """Simple doublespend"""
tx0_outpoint = make_utxo(self.nodes[0], int(1.1*COIN)) 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 = CTransaction()
tx1a.vin = [CTxIn(tx0_outpoint, nSequence=0)] tx1a.vin = [CTxIn(tx0_outpoint, nSequence=0)]
tx1a.vout = [CTxOut(1*COIN, CScript([b'a']))] tx1a.vout = [CTxOut(1*COIN, CScript([b'a']))]
tx1a_hex = txToHex(tx1a) tx1a_hex = txToHex(tx1a)
tx1a_txid = self.nodes[0].sendrawtransaction(tx1a_hex, True) 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 # Should fail because we haven't changed the fee
tx1b = CTransaction() tx1b = CTransaction()

Loading…
Cancel
Save