Merge #10344: [tests] Fix abandonconflict.py intermittency

965a124 [tests] Fix abandonconflict.py intermittency (John Newbery)

Tree-SHA512: e0aeeaa2713fb842b92d8c474823b4ed4b7adb840c59141c99216f6611998339776afe0be17a53da9e85137fd53fd8d4985e11a65476765ee1c97df36e237142
This commit is contained in:
MarcoFalke 2017-05-06 12:00:01 +02:00
commit e9274839bf
No known key found for this signature in database
GPG key ID: D2EA4850E7528B25

View file

@ -10,10 +10,8 @@
which are not included in a block and are not currently in the mempool. It has which are not included in a block and are not currently in the mempool. It has
no effect on transactions which are already conflicted or abandoned. no effect on transactions which are already conflicted or abandoned.
""" """
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import * from test_framework.util import *
import urllib.parse
class AbandonConflictTest(BitcoinTestFramework): class AbandonConflictTest(BitcoinTestFramework):
def __init__(self): def __init__(self):
@ -37,8 +35,8 @@ class AbandonConflictTest(BitcoinTestFramework):
assert(balance - newbalance < Decimal("0.001")) #no more than fees lost assert(balance - newbalance < Decimal("0.001")) #no more than fees lost
balance = newbalance balance = newbalance
url = urllib.parse.urlparse(self.nodes[1].url) # Disconnect nodes so node0's transactions don't get into node1's mempool
self.nodes[0].disconnectnode(url.hostname+":"+str(p2p_port(1))) disconnect_nodes(self.nodes[0], 1)
# Identify the 10btc outputs # Identify the 10btc outputs
nA = next(i for i, vout in enumerate(self.nodes[0].getrawtransaction(txA, 1)["vout"]) if vout["value"] == Decimal("10")) nA = next(i for i, vout in enumerate(self.nodes[0].getrawtransaction(txA, 1)["vout"]) if vout["value"] == Decimal("10"))
@ -78,8 +76,9 @@ class AbandonConflictTest(BitcoinTestFramework):
stop_node(self.nodes[0],0) stop_node(self.nodes[0],0)
self.nodes[0]=start_node(0, self.options.tmpdir, ["-minrelaytxfee=0.0001"]) self.nodes[0]=start_node(0, self.options.tmpdir, ["-minrelaytxfee=0.0001"])
# Verify txs no longer in mempool # Verify txs no longer in either node's mempool
assert_equal(len(self.nodes[0].getrawmempool()), 0) assert_equal(len(self.nodes[0].getrawmempool()), 0)
assert_equal(len(self.nodes[1].getrawmempool()), 0)
# Not in mempool txs from self should only reduce balance # Not in mempool txs from self should only reduce balance
# inputs are still spent, but change not received # inputs are still spent, but change not received