File tree Expand file tree Collapse file tree
wolframclient/tests/evaluation Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11from __future__ import absolute_import , print_function , unicode_literals
22
33import logging
4+ from concurrent .futures import TimeoutError
5+ from time import time
46
57from wolframclient .deserializers import WXFConsumer , binary_deserialize
68from wolframclient .evaluation import WolframLanguageSession
@@ -193,6 +195,20 @@ def test_kernel_dies_restart(self):
193195 session .terminate ()
194196 self .assertTrue (session .stopped )
195197
198+ def test_kernel_abort_restart (self ):
199+ try :
200+ session = WolframLanguageSession (kernel_path )
201+ session .start ()
202+ start = time ()
203+ future = session .evaluate_future ("Pause[10]" )
204+ with self .assertRaises (TimeoutError ):
205+ future .result (timeout = 1.0 )
206+ session .terminate ()
207+ self .assertTrue ((time () - start ) < 10 )
208+ finally :
209+ session .terminate ()
210+ self .assertTrue (session .stopped )
211+
196212 def test_pure_function_inputform (self ):
197213 f = self .kernel_session .function ("#+1&" )
198214 self .assertEqual (f (3 ), 4 )
You can’t perform that action at this time.
0 commit comments