Changeset View
Changeset View
Standalone View
Standalone View
test/functional/p2p_leak.py
Show All 14 Lines | |||||
from test_framework.messages import ( | from test_framework.messages import ( | ||||
msg_getaddr, | msg_getaddr, | ||||
msg_ping, | msg_ping, | ||||
msg_verack, | msg_verack, | ||||
msg_version, | msg_version, | ||||
) | ) | ||||
from test_framework.mininode import ( | from test_framework.mininode import ( | ||||
mininode_lock, | p2p_lock, | ||||
P2PInterface, | P2PInterface, | ||||
) | ) | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
from test_framework.util import ( | from test_framework.util import ( | ||||
assert_equal, | assert_equal, | ||||
assert_greater_than_or_equal, | assert_greater_than_or_equal, | ||||
wait_until, | wait_until, | ||||
) | ) | ||||
▲ Show 20 Lines • Show All 117 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
# Wait until we got the verack in response to the version. Though, don't wait for the other node to receive the | # Wait until we got the verack in response to the version. Though, don't wait for the other node to receive the | ||||
# verack, since we never sent one | # verack, since we never sent one | ||||
no_verack_idlenode.wait_for_verack() | no_verack_idlenode.wait_for_verack() | ||||
wait_until( | wait_until( | ||||
lambda: no_version_disconnect_node.ever_connected, | lambda: no_version_disconnect_node.ever_connected, | ||||
timeout=10, | timeout=10, | ||||
lock=mininode_lock) | lock=p2p_lock) | ||||
wait_until(lambda: no_version_idlenode.ever_connected, | wait_until(lambda: no_version_idlenode.ever_connected, | ||||
timeout=10, lock=mininode_lock) | timeout=10, lock=p2p_lock) | ||||
wait_until(lambda: no_verack_idlenode.version_received, | wait_until(lambda: no_verack_idlenode.version_received, | ||||
timeout=10, lock=mininode_lock) | timeout=10, lock=p2p_lock) | ||||
# Mine a block and make sure that it's not sent to the connected nodes | # Mine a block and make sure that it's not sent to the connected nodes | ||||
self.nodes[0].generatetoaddress( | self.nodes[0].generatetoaddress( | ||||
1, self.nodes[0].get_deterministic_priv_key().address) | 1, self.nodes[0].get_deterministic_priv_key().address) | ||||
# Give the node enough time to possibly leak out a message | # Give the node enough time to possibly leak out a message | ||||
time.sleep(5) | time.sleep(5) | ||||
Show All 35 Lines |