Changeset View
Changeset View
Standalone View
Standalone View
test/functional/feature_maxuploadtarget.py
Show First 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
self.nodes[0].disconnect_p2ps() | self.nodes[0].disconnect_p2ps() | ||||
self.log.info("Restarting node 0 with download permission" | self.log.info("Restarting node 0 with download permission" | ||||
" and 1MB maxuploadtarget") | " and 1MB maxuploadtarget") | ||||
self.restart_node(0, ["-whitelist=download@127.0.0.1", | self.restart_node(0, ["-whitelist=download@127.0.0.1", | ||||
"-maxuploadtarget=1", "-blockmaxsize=999000"]) | "-maxuploadtarget=1", "-blockmaxsize=999000"]) | ||||
# Reconnect to self.nodes[0] | # Reconnect to self.nodes[0] | ||||
self.nodes[0].add_p2p_connection(TestP2PConn()) | peer = self.nodes[0].add_p2p_connection(TestP2PConn()) | ||||
# 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)] | ||||
for i in range(20): | for i in range(20): | ||||
self.nodes[0].p2p.send_and_ping(getdata_request) | peer.send_and_ping(getdata_request) | ||||
assert_equal( | assert_equal( | ||||
self.nodes[0].p2p.block_receive_map[big_new_block], i + 1) | peer.block_receive_map[big_new_block], i + 1) | ||||
getdata_request.inv = [CInv(MSG_BLOCK, big_old_block)] | getdata_request.inv = [CInv(MSG_BLOCK, big_old_block)] | ||||
self.nodes[0].p2p.send_and_ping(getdata_request) | peer.send_and_ping(getdata_request) | ||||
self.log.info( | self.log.info( | ||||
"Peer still connected after trying to download old block (download permission)") | "Peer still connected after trying to download old block (download permission)") | ||||
peer_info = self.nodes[0].getpeerinfo() | peer_info = self.nodes[0].getpeerinfo() | ||||
# node is still connected | # node is still connected | ||||
assert_equal(len(peer_info), 1) | assert_equal(len(peer_info), 1) | ||||
assert_equal(peer_info[0]['permissions'], ['download']) | assert_equal(peer_info[0]['permissions'], ['download']) | ||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
MaxUploadTest().main() | MaxUploadTest().main() |