Skip to content

Commit 0e23ad5

Browse files
author
Dorian Birraux
committed
Add a test for a time constrained computation followed with a terminate call
1 parent 131e392 commit 0e23ad5

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

wolframclient/tests/evaluation/test_kernel.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from __future__ import absolute_import, print_function, unicode_literals
22

33
import logging
4+
from concurrent.futures import TimeoutError
5+
from time import time
46

57
from wolframclient.deserializers import WXFConsumer, binary_deserialize
68
from 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)

0 commit comments

Comments
 (0)