##// END OF EJS Templates
exercise calling run_cell_async as a coroutine
Min RK -
Show More
@@ -9,6 +9,7 b' recurring bugs we seem to encounter with high-level interaction.'
9 # Copyright (c) IPython Development Team.
9 # Copyright (c) IPython Development Team.
10 # Distributed under the terms of the Modified BSD License.
10 # Distributed under the terms of the Modified BSD License.
11
11
12 import asyncio
12 import ast
13 import ast
13 import os
14 import os
14 import signal
15 import signal
@@ -24,6 +25,7 b' import nose.tools as nt'
24
25
25 from IPython.core.error import InputRejected
26 from IPython.core.error import InputRejected
26 from IPython.core.inputtransformer import InputTransformer
27 from IPython.core.inputtransformer import InputTransformer
28 from IPython.core import interactiveshell
27 from IPython.testing.decorators import (
29 from IPython.testing.decorators import (
28 skipif, skip_win32, onlyif_unicode_paths, onlyif_cmds_exist,
30 skipif, skip_win32, onlyif_unicode_paths, onlyif_cmds_exist,
29 )
31 )
@@ -928,3 +930,19 b' def test_custom_exc_count():'
928 ip.set_custom_exc((), None)
930 ip.set_custom_exc((), None)
929 nt.assert_equal(hook.call_count, 1)
931 nt.assert_equal(hook.call_count, 1)
930 nt.assert_equal(ip.execution_count, before + 1)
932 nt.assert_equal(ip.execution_count, before + 1)
933
934
935 def test_run_cell_async():
936 loop = asyncio.get_event_loop()
937 ip.run_cell("import asyncio")
938 coro = ip.run_cell_async("await asyncio.sleep(0.01)\n5")
939 assert asyncio.iscoroutine(coro)
940 result = loop.run_until_complete(coro)
941 assert isinstance(result, interactiveshell.ExecutionResult)
942 assert result.result == 5
943
944
945 def test_should_run_async():
946 assert not ip.should_run_async("a = 5")
947 assert ip.should_run_async("await x")
948 assert ip.should_run_async("import asyncio; await asyncio.sleep(1)")
General Comments 0
You need to be logged in to leave comments. Login now