File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
qa/rpc-tests/test_framework Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -1004,6 +1004,18 @@ def __repr__(self):
1004
1004
class NodeConnCB (object ):
1005
1005
def __init__ (self ):
1006
1006
self .verack_received = False
1007
+ # deliver_sleep_time is helpful for debugging race conditions in p2p
1008
+ # tests; it causes message delivery to sleep for the specified time
1009
+ # before acquiring the global lock and delivering the next message.
1010
+ self .deliver_sleep_time = None
1011
+
1012
+ def set_deliver_sleep_time (self , value ):
1013
+ with mininode_lock :
1014
+ self .deliver_sleep_time = value
1015
+
1016
+ def get_deliver_sleep_time (self ):
1017
+ with mininode_lock :
1018
+ return self .deliver_sleep_time
1007
1019
1008
1020
# Spin until verack message is received from the node.
1009
1021
# Tests may want to use this as a signal that the test can begin.
@@ -1017,6 +1029,9 @@ def wait_for_verack(self):
1017
1029
time .sleep (0.05 )
1018
1030
1019
1031
def deliver (self , conn , message ):
1032
+ deliver_sleep = self .get_deliver_sleep_time ()
1033
+ if deliver_sleep is not None :
1034
+ time .sleep (deliver_sleep )
1020
1035
with mininode_lock :
1021
1036
try :
1022
1037
getattr (self , 'on_' + message .command )(conn , message )
You can’t perform that action at this time.
0 commit comments