mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
test: Don't use v2transport when it's too slow.
Sending multiple large messages is rather slow with the non-optimized python implementation of ChaCha20. Apart from the slowness, these tests would also run successfully with v2.
This commit is contained in:
parent
87549c8f89
commit
6e9e39da43
@ -1263,6 +1263,10 @@ class FullBlockTest(BitcoinTestFramework):
|
|||||||
b89a = self.update_block("89a", [tx])
|
b89a = self.update_block("89a", [tx])
|
||||||
self.send_blocks([b89a], success=False, reject_reason='bad-txns-inputs-missingorspent', reconnect=True)
|
self.send_blocks([b89a], success=False, reject_reason='bad-txns-inputs-missingorspent', reconnect=True)
|
||||||
|
|
||||||
|
# Don't use v2transport for the large reorg, which is too slow with the unoptimized python ChaCha20 implementation
|
||||||
|
if self.options.v2transport:
|
||||||
|
self.nodes[0].disconnect_p2ps()
|
||||||
|
self.helper_peer = self.nodes[0].add_p2p_connection(P2PDataStore(), supports_v2_p2p=False)
|
||||||
self.log.info("Test a re-org of one week's worth of blocks (1088 blocks)")
|
self.log.info("Test a re-org of one week's worth of blocks (1088 blocks)")
|
||||||
|
|
||||||
self.move_tip(88)
|
self.move_tip(88)
|
||||||
|
@ -67,7 +67,8 @@ class MaxUploadTest(BitcoinTestFramework):
|
|||||||
p2p_conns = []
|
p2p_conns = []
|
||||||
|
|
||||||
for _ in range(3):
|
for _ in range(3):
|
||||||
p2p_conns.append(self.nodes[0].add_p2p_connection(TestP2PConn()))
|
# Don't use v2transport in this test (too slow with the unoptimized python ChaCha20 implementation)
|
||||||
|
p2p_conns.append(self.nodes[0].add_p2p_connection(TestP2PConn(), supports_v2_p2p=False))
|
||||||
|
|
||||||
# Now mine a big block
|
# Now mine a big block
|
||||||
mine_large_block(self, self.wallet, self.nodes[0])
|
mine_large_block(self, self.wallet, self.nodes[0])
|
||||||
@ -148,7 +149,7 @@ class MaxUploadTest(BitcoinTestFramework):
|
|||||||
self.restart_node(0, ["-whitelist=download@127.0.0.1", "-maxuploadtarget=1"])
|
self.restart_node(0, ["-whitelist=download@127.0.0.1", "-maxuploadtarget=1"])
|
||||||
|
|
||||||
# Reconnect to self.nodes[0]
|
# Reconnect to self.nodes[0]
|
||||||
peer = self.nodes[0].add_p2p_connection(TestP2PConn())
|
peer = self.nodes[0].add_p2p_connection(TestP2PConn(), supports_v2_p2p=False)
|
||||||
|
|
||||||
#retrieve 20 blocks which should be enough to break the 1MB limit
|
#retrieve 20 blocks which should be enough to break the 1MB limit
|
||||||
getdata_request.inv = [CInv(MSG_BLOCK, big_new_block)]
|
getdata_request.inv = [CInv(MSG_BLOCK, big_new_block)]
|
||||||
|
@ -327,8 +327,10 @@ class InvalidMessagesTest(BitcoinTestFramework):
|
|||||||
|
|
||||||
def test_resource_exhaustion(self):
|
def test_resource_exhaustion(self):
|
||||||
self.log.info("Test node stays up despite many large junk messages")
|
self.log.info("Test node stays up despite many large junk messages")
|
||||||
conn = self.nodes[0].add_p2p_connection(P2PDataStore())
|
# Don't use v2 here - the non-optimised encryption would take too long to encrypt
|
||||||
conn2 = self.nodes[0].add_p2p_connection(P2PDataStore())
|
# the large messages
|
||||||
|
conn = self.nodes[0].add_p2p_connection(P2PDataStore(), supports_v2_p2p=False)
|
||||||
|
conn2 = self.nodes[0].add_p2p_connection(P2PDataStore(), supports_v2_p2p=False)
|
||||||
msg_at_size = msg_unrecognized(str_data="b" * VALID_DATA_LIMIT)
|
msg_at_size = msg_unrecognized(str_data="b" * VALID_DATA_LIMIT)
|
||||||
assert len(msg_at_size.serialize()) == MAX_PROTOCOL_MESSAGE_LENGTH
|
assert len(msg_at_size.serialize()) == MAX_PROTOCOL_MESSAGE_LENGTH
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user