Merge #16737: test: Establish only one connection between nodes in rpc_invalidateblock

fae961de6be3e2ab9793d437079651541e219e71 test: Establish only one connection between nodes in rpc_invalidateblock (MarcoFalke)

Pull request description:

  Headers and block sync should eventually converge to the same result, regardless of whether the peers treat each other as "inbound" or "outbound".

  `connect_nodes_bi` has been introduced as a (temporary?) workaround for bug #5113 and #5138, which has long been fixed in #5157 and #5662.

  Thus remove the `connect_nodes_bi` workaround from the rpc_invalidateblock test.

  Conveniently, this also closes #16453. See https://github.com/bitcoin/bitcoin/issues/16444#issuecomment-514801708 for rationale

ACKs for top commit:
  laanwj:
    ACK fae961de6be3e2ab9793d437079651541e219e71

Tree-SHA512: b3614c66a205823df73f64d19cacfbec269beb5db52ff79004d746e17d7c0dfb43ab9785fdddc97e2a76fe76286c8c605b34df3dda4a2bf5be035f01169ae89a
This commit is contained in:
Wladimir J. van der Laan 2019-09-16 13:34:01 +02:00 committed by Vijay Das Manikpuri
parent cf43f40fb4
commit bff9273316
No known key found for this signature in database
GPG Key ID: DB1D81B01DB7C46E

View File

@ -7,7 +7,7 @@
import time import time
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import assert_equal, connect_nodes, connect_nodes_bi, wait_until from test_framework.util import assert_equal, connect_nodes, wait_until
class InvalidateTest(BitcoinTestFramework): class InvalidateTest(BitcoinTestFramework):
def set_test_params(self): def set_test_params(self):
@ -29,7 +29,7 @@ class InvalidateTest(BitcoinTestFramework):
assert self.nodes[1].getblockcount() == 6 assert self.nodes[1].getblockcount() == 6
self.log.info("Connect nodes to force a reorg") self.log.info("Connect nodes to force a reorg")
connect_nodes_bi(self.nodes,0,1) connect_nodes(self.nodes[0], 1)
self.sync_blocks(self.nodes[0:2]) self.sync_blocks(self.nodes[0:2])
assert self.nodes[0].getblockcount() == 6 assert self.nodes[0].getblockcount() == 6
badhash = self.nodes[1].getblockhash(2) badhash = self.nodes[1].getblockhash(2)
@ -42,7 +42,7 @@ class InvalidateTest(BitcoinTestFramework):
raise AssertionError("Wrong tip for node0, hash %s, height %d"%(newhash,newheight)) raise AssertionError("Wrong tip for node0, hash %s, height %d"%(newhash,newheight))
self.log.info("Make sure we won't reorg to a lower work chain:") self.log.info("Make sure we won't reorg to a lower work chain:")
connect_nodes_bi(self.nodes,1,2) connect_nodes(self.nodes[1], 2)
self.log.info("Sync node 2 to node 1 so both have 6 blocks") self.log.info("Sync node 2 to node 1 so both have 6 blocks")
self.sync_blocks(self.nodes[1:3]) self.sync_blocks(self.nodes[1:3])
assert self.nodes[2].getblockcount() == 6 assert self.nodes[2].getblockcount() == 6
@ -65,7 +65,7 @@ class InvalidateTest(BitcoinTestFramework):
self.log.info("Make sure ResetBlockFailureFlags does the job correctly") self.log.info("Make sure ResetBlockFailureFlags does the job correctly")
self.restart_node(0, extra_args=["-checkblocks=5"]) self.restart_node(0, extra_args=["-checkblocks=5"])
self.restart_node(1, extra_args=["-checkblocks=5"]) self.restart_node(1, extra_args=["-checkblocks=5"])
connect_nodes_bi(self.nodes, 0, 1) connect_nodes(self.nodes[0], 1)
self.nodes[0].generate(10) self.nodes[0].generate(10)
self.sync_blocks(self.nodes[0:2]) self.sync_blocks(self.nodes[0:2])
newheight = self.nodes[0].getblockcount() newheight = self.nodes[0].getblockcount()