Skip to content

Commit 5796019

Browse files
committed
test: refactor test_large_inv() into 3 tests with common method
1 parent e2b21d8 commit 5796019

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

test/functional/p2p_invalid_messages.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ def run_test(self):
5353
self.test_checksum()
5454
self.test_size()
5555
self.test_msgtype()
56-
self.test_large_inv()
56+
self.test_oversized_inv_msg()
57+
self.test_oversized_getdata_msg()
58+
self.test_oversized_headers_msg()
5759
self.test_resource_exhaustion()
5860

5961
def test_buffer(self):
@@ -122,20 +124,22 @@ def test_msgtype(self):
122124
conn.sync_with_ping(timeout=1)
123125
self.nodes[0].disconnect_p2ps()
124126

125-
def test_large_inv(self):
126-
self.log.info("Test oversized inv/getdata/headers messages are logged as misbehaving")
127-
conn = self.nodes[0].add_p2p_connection(P2PInterface())
128-
with self.nodes[0].assert_debug_log(['Misbehaving', '(0 -> 20): inv message size = 50001']):
129-
msg = msg_inv([CInv(MSG_TX, 1)] * 50001)
130-
conn.send_and_ping(msg)
131-
with self.nodes[0].assert_debug_log(['Misbehaving', '(20 -> 40): getdata message size = 50001']):
132-
msg = msg_getdata([CInv(MSG_TX, 1)] * 50001)
133-
conn.send_and_ping(msg)
134-
with self.nodes[0].assert_debug_log(['Misbehaving', '(40 -> 60): headers message size = 2001']):
135-
msg = msg_headers([CBlockHeader()] * 2001)
136-
conn.send_and_ping(msg)
127+
def test_oversized_msg(self, msg, size):
128+
msg_type = msg.msgtype.decode('ascii')
129+
self.log.info("Test {} message of size {} is logged as misbehaving".format(msg_type, size))
130+
with self.nodes[0].assert_debug_log(['Misbehaving', '{} message size = {}'.format(msg_type, size)]):
131+
self.nodes[0].add_p2p_connection(P2PInterface()).send_and_ping(msg)
137132
self.nodes[0].disconnect_p2ps()
138133

134+
def test_oversized_inv_msg(self):
135+
self.test_oversized_msg(msg_inv([CInv(MSG_TX, 1)] * 50001), 50001)
136+
137+
def test_oversized_getdata_msg(self):
138+
self.test_oversized_msg(msg_getdata([CInv(MSG_TX, 1)] * 50001), 50001)
139+
140+
def test_oversized_headers_msg(self):
141+
self.test_oversized_msg(msg_headers([CBlockHeader()] * 2001), 2001)
142+
139143
def test_resource_exhaustion(self):
140144
self.log.info("Test node stays up despite many large junk messages")
141145
conn = self.nodes[0].add_p2p_connection(P2PDataStore())

0 commit comments

Comments
 (0)