From 0f83ab407ec5aa0591c54c03bcf408c7f2f0a192 Mon Sep 17 00:00:00 2001 From: furszy Date: Thu, 10 Aug 2023 17:55:33 -0300 Subject: [PATCH] test: display abrupt shutdown errors in console output Making it easier to debug errors in the CI environment, particularly in scenarios where it's not immediately clear what happened nor which node crashed (or shutdown abruptly). --- test/functional/test_framework/test_node.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py index 544a81602eb..f599043234f 100755 --- a/test/functional/test_framework/test_node.py +++ b/test/functional/test_framework/test_node.py @@ -232,8 +232,13 @@ class TestNode(): poll_per_s = 4 for _ in range(poll_per_s * self.rpc_timeout): if self.process.poll() is not None: + # Attach abrupt shutdown error/s to the exception message + self.stderr.seek(0) + str_error = ''.join(line.decode('utf-8') for line in self.stderr) + str_error += "************************\n" if str_error else '' + raise FailedToStartError(self._node_msg( - 'bitcoind exited with status {} during initialization'.format(self.process.returncode))) + f'bitcoind exited with status {self.process.returncode} during initialization. {str_error}')) try: rpc = get_rpc_proxy( rpc_url(self.datadir, self.index, self.chain, self.rpchost),