File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -192,3 +192,31 @@ def run_client():
192192 multiprocessing .Process (target = run_client , daemon = True ).start ()
193193
194194 assert client_event .wait (1 )
195+
196+
197+ def test_server_restart (socket_dir ):
198+ """
199+ Test whether server works properly on restart.
200+ """
201+ number_of_restarts = 5
202+
203+ def run_server_n_times (n ):
204+
205+ class MockServer (Server ):
206+ @rpc_method
207+ def mock_method (self ):
208+ return {'success' : True }
209+
210+ server = MockServer (socket_dir = socket_dir )
211+ for i in range (n ):
212+ with server :
213+ server .run_once ()
214+
215+ multiprocessing .Process (target = run_server_n_times ,
216+ args = [number_of_restarts ],
217+ daemon = True ).start ()
218+
219+ for i in range (number_of_restarts ):
220+ client = Client (socket_dir = socket_dir )
221+ response = client .call ('mock_server' , 'mock_method' , timeout = 3 )
222+ assert response ['success' ]
You can’t perform that action at this time.
0 commit comments