qa: Fix replace-by-fee race condition failures

This commit is contained in:
Suhas Daftuar 2017-10-20 16:10:08 -04:00
parent ff92fbf247
commit c96b2e4f09
1 changed files with 10 additions and 1 deletions

View File

@ -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):
"""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()