@@ -482,11 +482,8 @@ def assert_start_raises_init_error(self, extra_args=None, expected_msg=None, mat
482
482
tempfile .NamedTemporaryFile (dir = self .stdout_dir , delete = False ) as log_stdout :
483
483
try :
484
484
self .start (extra_args , stdout = log_stdout , stderr = log_stderr , * args , ** kwargs )
485
- self .wait_for_rpc_connection ()
486
- self .stop_node ()
487
- self .wait_until_stopped ()
488
- except FailedToStartError as e :
489
- self .log .debug ('bitcoind failed to start: %s' , e )
485
+ ret = self .process .wait (timeout = self .rpc_timeout )
486
+ self .log .debug (self ._node_msg (f'bitcoind exited with status { ret } during initialization' ))
490
487
self .running = False
491
488
self .process = None
492
489
# Check stderr for expected message
@@ -505,11 +502,15 @@ def assert_start_raises_init_error(self, extra_args=None, expected_msg=None, mat
505
502
if expected_msg != stderr :
506
503
self ._raise_assertion_error (
507
504
'Expected message "{}" does not fully match stderr:\n "{}"' .format (expected_msg , stderr ))
508
- else :
505
+ except subprocess .TimeoutExpired :
506
+ self .process .kill ()
507
+ self .running = False
508
+ self .process = None
509
+ assert_msg = f'bitcoind should have exited within { self .rpc_timeout } s '
509
510
if expected_msg is None :
510
- assert_msg = "bitcoind should have exited with an error"
511
+ assert_msg + = "with an error"
511
512
else :
512
- assert_msg = "bitcoind should have exited with expected error " + expected_msg
513
+ assert_msg + = "with expected error " + expected_msg
513
514
self ._raise_assertion_error (assert_msg )
514
515
515
516
def add_p2p_connection (self , p2p_conn , * , wait_for_verack = True , ** kwargs ):
0 commit comments