Skip to content

Commit 3b85485

Browse files
committed
Update test kernel to use native coroutine, remove async_generator dependency
1 parent 3515e89 commit 3b85485

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

jupyter_client/tests/signalkernel.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from ipykernel.displayhook import ZMQDisplayHook
1111
from ipykernel.kernelapp import IPKernelApp
1212
from ipykernel.kernelbase import Kernel
13-
from tornado.web import gen
1413

1514

1615
class SignalTestKernel(Kernel):
@@ -28,10 +27,9 @@ def __init__(self, **kwargs):
2827
if os.environ.get("NO_SIGTERM_REPLY", None) == "1":
2928
signal.signal(signal.SIGTERM, signal.SIG_IGN)
3029

31-
@gen.coroutine
32-
def shutdown_request(self, stream, ident, parent):
30+
async def shutdown_request(self, stream, ident, parent):
3331
if os.environ.get("NO_SHUTDOWN_REPLY") != "1":
34-
yield gen.maybe_future(super().shutdown_request(stream, ident, parent))
32+
await super().shutdown_request(stream, ident, parent)
3533

3634
def do_execute(
3735
self, code, silent, store_history=True, user_expressions=None, allow_stdin=False

jupyter_client/tests/test_kernelmanager.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
from subprocess import PIPE
1212

1313
import pytest
14-
from async_generator import async_generator
15-
from async_generator import yield_
1614
from jupyter_core import paths
1715
from traitlets.config.loader import Config
1816

@@ -135,11 +133,9 @@ def async_km_subclass(config):
135133

136134

137135
@pytest.fixture
138-
@async_generator # This is only necessary while Python 3.5 is support afterwhich both it and
139-
# yield_() can be removed
140136
async def start_async_kernel():
141137
km, kc = await start_new_async_kernel(kernel_name="signaltest")
142-
await yield_((km, kc))
138+
yield km, kc
143139
kc.stop_channels()
144140
await km.shutdown_kernel()
145141
assert km.context.closed
@@ -166,6 +162,9 @@ class TestKernelManagerShutDownGracefully:
166162
@pytest.mark.skipif(sys.platform == "win32", reason="Windows doesn't support signals")
167163
@pytest.mark.parametrize(*parameters)
168164
def test_signal_kernel_subprocesses(self, name, install, expected):
165+
# ipykernel doesn't support 3.6 and this test uses async shutdown_request
166+
if expected == _ShutdownStatus.ShutdownRequest and sys.version_info < (3, 7):
167+
pytest.skip()
169168
install()
170169
km, kc = start_new_kernel(kernel_name=name)
171170
assert km._shutdown_status == _ShutdownStatus.Unset
@@ -180,6 +179,9 @@ def test_signal_kernel_subprocesses(self, name, install, expected):
180179
@pytest.mark.skipif(sys.platform == "win32", reason="Windows doesn't support signals")
181180
@pytest.mark.parametrize(*parameters)
182181
async def test_async_signal_kernel_subprocesses(self, name, install, expected):
182+
# ipykernel doesn't support 3.6 and this test uses async shutdown_request
183+
if expected == _ShutdownStatus.ShutdownRequest and sys.version_info < (3, 7):
184+
pytest.skip()
183185
install()
184186
km, kc = await start_new_async_kernel(kernel_name=name)
185187
assert km._shutdown_status == _ShutdownStatus.Unset

setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ def run(self):
7979
python_requires='>=3.6.1',
8080
extras_require={
8181
'test': [
82-
'async_generator',
8382
'ipykernel',
8483
'ipython',
8584
'jedi<0.18; python_version<="3.6"',

0 commit comments

Comments
 (0)