Skip to content

Commit 46339d2

Browse files
committed
test, refactor: Reorder sendtxrcncl tests for better readability
1 parent 14263c1 commit 46339d2

File tree

1 file changed

+43
-38
lines changed

1 file changed

+43
-38
lines changed

test/functional/p2p_sendtxrcncl.py

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ def set_test_params(self):
6767
self.extra_args = [['-txreconciliation']]
6868

6969
def run_test(self):
70+
# Check everything concerning *sending* SENDTXRCNCL
71+
# First, *sending* to *inbound*.
7072
self.log.info('SENDTXRCNCL sent to an inbound')
7173
peer = self.nodes[0].add_p2p_connection(SendTxrcnclReceiver(), send_version=True, wait_for_verack=True)
7274
assert peer.sendtxrcncl_msg_received
@@ -119,8 +121,46 @@ def run_test(self):
119121
assert not peer.sendtxrcncl_msg_received
120122
self.nodes[0].disconnect_p2ps()
121123

122-
self.restart_node(0, ["-txreconciliation"])
124+
# Now, *sending* to *outbound*.
125+
self.log.info('SENDTXRCNCL sent to an outbound')
126+
peer = self.nodes[0].add_outbound_p2p_connection(
127+
SendTxrcnclReceiver(), wait_for_verack=True, p2p_idx=0, connection_type="outbound-full-relay")
128+
assert peer.sendtxrcncl_msg_received
129+
assert_equal(peer.sendtxrcncl_msg_received.version, 1)
130+
self.nodes[0].disconnect_p2ps()
123131

132+
self.log.info('SENDTXRCNCL should not be sent if block-relay-only')
133+
peer = self.nodes[0].add_outbound_p2p_connection(
134+
SendTxrcnclReceiver(), wait_for_verack=True, p2p_idx=0, connection_type="block-relay-only")
135+
assert not peer.sendtxrcncl_msg_received
136+
self.nodes[0].disconnect_p2ps()
137+
138+
self.log.info("SENDTXRCNCL should not be sent if feeler")
139+
peer = self.nodes[0].add_outbound_p2p_connection(P2PFeelerReceiver(), p2p_idx=0, connection_type="feeler")
140+
assert not peer.sendtxrcncl_msg_received
141+
self.nodes[0].disconnect_p2ps()
142+
143+
self.log.info("SENDTXRCNCL should not be sent if addrfetch")
144+
peer = self.nodes[0].add_outbound_p2p_connection(
145+
SendTxrcnclReceiver(), wait_for_verack=True, p2p_idx=0, connection_type="addr-fetch")
146+
assert not peer.sendtxrcncl_msg_received
147+
self.nodes[0].disconnect_p2ps()
148+
149+
self.log.info('SENDTXRCNCL not sent if -txreconciliation flag is not set')
150+
self.restart_node(0, [])
151+
peer = self.nodes[0].add_p2p_connection(SendTxrcnclReceiver(), send_version=True, wait_for_verack=True)
152+
assert not peer.sendtxrcncl_msg_received
153+
self.nodes[0].disconnect_p2ps()
154+
155+
self.log.info('SENDTXRCNCL not sent if blocksonly is set')
156+
self.restart_node(0, ["-txreconciliation", "-blocksonly"])
157+
peer = self.nodes[0].add_p2p_connection(SendTxrcnclReceiver(), send_version=True, wait_for_verack=True)
158+
assert not peer.sendtxrcncl_msg_received
159+
self.nodes[0].disconnect_p2ps()
160+
161+
# Check everything concerning *receiving* SENDTXRCNCL
162+
# First, receiving from *inbound*.
163+
self.restart_node(0, ["-txreconciliation"])
124164
self.log.info('valid SENDTXRCNCL received')
125165
peer = self.nodes[0].add_p2p_connection(PeerNoVerack(), send_version=True, wait_for_verack=False)
126166
with self.nodes[0].assert_debug_log(["received: sendtxrcncl"]):
@@ -163,7 +203,7 @@ def run_test(self):
163203
old_version_msg.nServices = P2P_SERVICES
164204
old_version_msg.relay = 1
165205
peer.send_message(old_version_msg)
166-
with self.nodes[0].assert_debug_log(['Ignore unexpected txreconciliation signal from peer=2']):
206+
with self.nodes[0].assert_debug_log(['Ignore unexpected txreconciliation signal']):
167207
peer.send_message(create_sendtxrcncl_msg())
168208
self.nodes[0].disconnect_p2ps()
169209

@@ -180,49 +220,14 @@ def run_test(self):
180220
peer.send_message(msg_verack())
181221
self.nodes[0].disconnect_p2ps()
182222

183-
self.log.info('SENDTXRCNCL sent to an outbound')
184-
peer = self.nodes[0].add_outbound_p2p_connection(
185-
SendTxrcnclReceiver(), wait_for_verack=True, p2p_idx=0, connection_type="outbound-full-relay")
186-
assert peer.sendtxrcncl_msg_received
187-
assert_equal(peer.sendtxrcncl_msg_received.version, 1)
188-
self.nodes[0].disconnect_p2ps()
189-
190-
self.log.info('SENDTXRCNCL should not be sent if block-relay-only')
191-
peer = self.nodes[0].add_outbound_p2p_connection(
192-
SendTxrcnclReceiver(), wait_for_verack=True, p2p_idx=0, connection_type="block-relay-only")
193-
assert not peer.sendtxrcncl_msg_received
194-
self.nodes[0].disconnect_p2ps()
195-
196-
self.log.info("SENDTXRCNCL should not be sent if feeler")
197-
peer = self.nodes[0].add_outbound_p2p_connection(P2PFeelerReceiver(), p2p_idx=0, connection_type="feeler")
198-
assert not peer.sendtxrcncl_msg_received
199-
self.nodes[0].disconnect_p2ps()
200-
201-
self.log.info("SENDTXRCNCL should not be sent if addrfetch")
202-
peer = self.nodes[0].add_outbound_p2p_connection(
203-
SendTxrcnclReceiver(), wait_for_verack=True, p2p_idx=0, connection_type="addr-fetch")
204-
assert not peer.sendtxrcncl_msg_received
205-
self.nodes[0].disconnect_p2ps()
206-
223+
# Now, *receiving* from *outbound*.
207224
self.log.info('SENDTXRCNCL if block-relay-only triggers a disconnect')
208225
peer = self.nodes[0].add_outbound_p2p_connection(
209226
PeerNoVerack(), wait_for_verack=False, p2p_idx=0, connection_type="block-relay-only")
210227
with self.nodes[0].assert_debug_log(["we indicated no tx relay; disconnecting"]):
211228
peer.send_message(create_sendtxrcncl_msg())
212229
peer.wait_for_disconnect()
213230

214-
self.log.info('SENDTXRCNCL not sent if -txreconciliation flag is not set')
215-
self.restart_node(0, [])
216-
peer = self.nodes[0].add_p2p_connection(SendTxrcnclReceiver(), send_version=True, wait_for_verack=True)
217-
assert not peer.sendtxrcncl_msg_received
218-
self.nodes[0].disconnect_p2ps()
219-
220-
self.log.info('SENDTXRCNCL not sent if blocksonly is set')
221-
self.restart_node(0, ["-txreconciliation", "-blocksonly"])
222-
peer = self.nodes[0].add_p2p_connection(SendTxrcnclReceiver(), send_version=True, wait_for_verack=True)
223-
assert not peer.sendtxrcncl_msg_received
224-
self.nodes[0].disconnect_p2ps()
225-
226231

227232
if __name__ == '__main__':
228233
SendTxRcnclTest().main()

0 commit comments

Comments
 (0)