Skip to content

Commit f021644

Browse files
committed
qa: Add wait_for_debugger param for node (re)starts
Enables tweaking functional tests to start debugging a specific node run/execution.
1 parent 40d9425 commit f021644

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

test/functional/test_framework/test_framework.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -551,16 +551,16 @@ def stop_nodes(self, wait=0):
551551
# Wait for nodes to stop
552552
node.wait_until_stopped()
553553

554-
def restart_node(self, i, extra_args=None, clear_addrman=False, *, expected_stderr=''):
554+
def restart_node(self, i, extra_args=None, clear_addrman=False, *, expected_stderr='', **kwargs):
555555
"""Stop and start a test node"""
556556
self.stop_node(i, expected_stderr=expected_stderr)
557557
if clear_addrman:
558558
peers_dat = self.nodes[i].chain_path / "peers.dat"
559559
os.remove(peers_dat)
560560
with self.nodes[i].assert_debug_log(expected_msgs=[f'Creating peers.dat because the file was not found ("{peers_dat}")']):
561-
self.start_node(i, extra_args)
561+
self.start_node(i, extra_args, **kwargs)
562562
else:
563-
self.start_node(i, extra_args)
563+
self.start_node(i, extra_args, **kwargs)
564564

565565
def wait_for_node_exit(self, i, timeout):
566566
self.nodes[i].process.wait(timeout)

test/functional/test_framework/test_node.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def __getattr__(self, name):
249249
assert self.rpc_connected and self._rpc is not None, self._node_msg("Error: no RPC connection")
250250
return getattr(self._rpc, name)
251251

252-
def start(self, extra_args=None, *, cwd=None, stdout=None, stderr=None, env=None, **kwargs):
252+
def start(self, extra_args=None, *, cwd=None, stdout=None, stderr=None, env=None, wait_for_debugger=False, **kwargs):
253253
"""Start the node."""
254254
if extra_args is None:
255255
extra_args = self.extra_args
@@ -287,7 +287,7 @@ def start(self, extra_args=None, *, cwd=None, stdout=None, stderr=None, env=None
287287
if env is not None:
288288
subp_env.update(env)
289289

290-
wait_for_debugger = TestNode.run in TestNode.debug_runs
290+
wait_for_debugger = wait_for_debugger or TestNode.run in TestNode.debug_runs
291291
if wait_for_debugger:
292292
extra_args.append("-waitfordebugger")
293293
# Allow human to context switch away, take time to attach debugger and/or debug init phase for 2 hours

0 commit comments

Comments
 (0)