bitcoin/test/functional/p2p_net_deadlock.py
Martin Zumsande bf4e919811 test: Disable tests for cli that make large RPC calls
These tests send off large rpc calls (e.g.by submitting large txns or blocks)
that exceed the limit of execve (128kb on many systems) when using cli.
2025-04-25 11:24:55 -04:00

38 lines
1.2 KiB
Python
Executable file

#!/usr/bin/env python3
# Copyright (c) 2023-present The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
import threading
from test_framework.test_framework import BitcoinTestFramework
from random import randbytes
class NetDeadlockTest(BitcoinTestFramework):
def set_test_params(self):
self.setup_clean_chain = True
self.num_nodes = 2
self.supports_cli = False
def run_test(self):
node0 = self.nodes[0]
node1 = self.nodes[1]
self.log.info("Simultaneously send a large message on both sides")
rand_msg = randbytes(4000000).hex()
thread0 = threading.Thread(target=node0.sendmsgtopeer, args=(0, "unknown", rand_msg))
thread1 = threading.Thread(target=node1.sendmsgtopeer, args=(0, "unknown", rand_msg))
thread0.start()
thread1.start()
thread0.join()
thread1.join()
self.log.info("Check whether a deadlock happened")
self.generate(node0, 1)
self.sync_blocks()
if __name__ == '__main__':
NetDeadlockTest(__file__).main()