Show More
@@ -2829,7 +2829,14 b' class InteractiveShell(SingletonConfigurable):' | |||
|
2829 | 2829 | return interactivity |
|
2830 | 2830 | |
|
2831 | 2831 | if interactivity == 'async': |
|
2832 | return self.loop_runner(coro) | |
|
2832 | try: | |
|
2833 | return self.loop_runner(coro) | |
|
2834 | except Exception as e: | |
|
2835 | info = ExecutionInfo(raw_cell, store_history, silent, shell_futures) | |
|
2836 | result = ExecutionResult(info) | |
|
2837 | result.error_in_exec = e | |
|
2838 | self.showtraceback(running_compiled_code=True) | |
|
2839 | return result | |
|
2833 | 2840 | return _pseudo_sync_runner(coro) |
|
2834 | 2841 | |
|
2835 | 2842 | @asyncio.coroutine |
@@ -13,6 +13,7 b' from IPython.testing.decorators import skip_without' | |||
|
13 | 13 | |
|
14 | 14 | ip = get_ipython() |
|
15 | 15 | iprc = lambda x: ip.run_cell(dedent(x)).raise_error() |
|
16 | iprc_nr = lambda x: ip.run_cell(dedent(x)) | |
|
16 | 17 | |
|
17 | 18 | if sys.version_info > (3, 5): |
|
18 | 19 | from IPython.core.async_helpers import _should_be_async |
@@ -251,5 +252,26 b' if sys.version_info > (3, 5):' | |||
|
251 | 252 | def test_autoawait_trio(self): |
|
252 | 253 | iprc("%autoawait trio") |
|
253 | 254 | |
|
255 | @skip_without('trio') | |
|
256 | def test_autoawait_trio_wrong_sleep(self): | |
|
257 | iprc("%autoawait trio") | |
|
258 | res = iprc_nr(""" | |
|
259 | import asyncio | |
|
260 | await asyncio.sleep(0) | |
|
261 | """) | |
|
262 | with nt.assert_raises(TypeError): | |
|
263 | res.raise_error() | |
|
264 | ||
|
265 | @skip_without('trio') | |
|
266 | def test_autoawait_asyncio_wrong_sleep(self): | |
|
267 | iprc("%autoawait asyncio") | |
|
268 | res = iprc_nr(""" | |
|
269 | import trio | |
|
270 | await trio.sleep(0) | |
|
271 | """) | |
|
272 | with nt.assert_raises(RuntimeError): | |
|
273 | res.raise_error() | |
|
274 | ||
|
275 | ||
|
254 | 276 | def tearDown(self): |
|
255 | 277 | ip.loop_runner = "asyncio" |
General Comments 0
You need to be logged in to leave comments.
Login now