@@ -227,10 +227,11 @@ def wait_for_bitcoind_start(process, url, i):
227
227
time .sleep (0.25 )
228
228
229
229
230
- def start_node (i , dirname , extra_args = None , rpchost = None , timewait = None , binary = None , stderr = None ):
231
- """
232
- Start a bitcoind and return RPC connection to it
233
- """
230
+ def _start_node (i , dirname , extra_args = None , rpchost = None , timewait = None , binary = None , stderr = None ):
231
+ """Start a bitcoind and return RPC connection to it
232
+
233
+ This function should only be called from within test_framework, not by individual test scripts."""
234
+
234
235
datadir = os .path .join (dirname , "node" + str (i ))
235
236
if binary is None :
236
237
binary = os .getenv ("BITCOIND" , "bitcoind" )
@@ -251,8 +252,8 @@ def start_node(i, dirname, extra_args=None, rpchost=None, timewait=None, binary=
251
252
def assert_start_raises_init_error (i , dirname , extra_args = None , expected_msg = None ):
252
253
with tempfile .SpooledTemporaryFile (max_size = 2 ** 16 ) as log_stderr :
253
254
try :
254
- node = start_node (i , dirname , extra_args , stderr = log_stderr )
255
- stop_node (node , i )
255
+ node = _start_node (i , dirname , extra_args , stderr = log_stderr )
256
+ _stop_node (node , i )
256
257
except Exception as e :
257
258
assert 'bitcoind exited' in str (e ) #node must have shutdown
258
259
if expected_msg is not None :
@@ -267,27 +268,32 @@ def assert_start_raises_init_error(i, dirname, extra_args=None, expected_msg=Non
267
268
assert_msg = "bitcoind should have exited with expected error " + expected_msg
268
269
raise AssertionError (assert_msg )
269
270
270
- def start_nodes (num_nodes , dirname , extra_args = None , rpchost = None , timewait = None , binary = None ):
271
- """
272
- Start multiple bitcoinds, return RPC connections to them
273
- """
271
+ def _start_nodes (num_nodes , dirname , extra_args = None , rpchost = None , timewait = None , binary = None ):
272
+ """Start multiple bitcoinds, return RPC connections to them
273
+
274
+ This function should only be called from within test_framework, not by individual test scripts."""
275
+
274
276
if extra_args is None : extra_args = [ None for _ in range (num_nodes ) ]
275
277
if binary is None : binary = [ None for _ in range (num_nodes ) ]
276
278
assert_equal (len (extra_args ), num_nodes )
277
279
assert_equal (len (binary ), num_nodes )
278
280
rpcs = []
279
281
try :
280
282
for i in range (num_nodes ):
281
- rpcs .append (start_node (i , dirname , extra_args [i ], rpchost , timewait = timewait , binary = binary [i ]))
283
+ rpcs .append (_start_node (i , dirname , extra_args [i ], rpchost , timewait = timewait , binary = binary [i ]))
282
284
except : # If one node failed to start, stop the others
283
- stop_nodes (rpcs )
285
+ _stop_nodes (rpcs )
284
286
raise
285
287
return rpcs
286
288
287
289
def log_filename (dirname , n_node , logname ):
288
290
return os .path .join (dirname , "node" + str (n_node ), "regtest" , logname )
289
291
290
- def stop_node (node , i ):
292
+ def _stop_node (node , i ):
293
+ """Stop a bitcoind test node
294
+
295
+ This function should only be called from within test_framework, not by individual test scripts."""
296
+
291
297
logger .debug ("Stopping node %d" % i )
292
298
try :
293
299
node .stop ()
@@ -297,9 +303,13 @@ def stop_node(node, i):
297
303
assert_equal (return_code , 0 )
298
304
del bitcoind_processes [i ]
299
305
300
- def stop_nodes (nodes ):
306
+ def _stop_nodes (nodes ):
307
+ """Stop multiple bitcoind test nodes
308
+
309
+ This function should only be called from within test_framework, not by individual test scripts."""
310
+
301
311
for i , node in enumerate (nodes ):
302
- stop_node (node , i )
312
+ _stop_node (node , i )
303
313
assert not bitcoind_processes .values () # All connections must be gone now
304
314
305
315
def set_node_times (nodes , t ):
0 commit comments