Skip to content

Commit 631b5dd

Browse files
committed
Use formal method names when called internally
1 parent 79587d5 commit 631b5dd

File tree

3 files changed

+36
-7
lines changed

3 files changed

+36
-7
lines changed

jupyter_client/manager.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ async def _async_finish_shutdown(
373373
except asyncio.TimeoutError:
374374
self.log.debug("Kernel is taking too long to finish, terminating")
375375
self._shutdown_status = _ShutdownStatus.SigtermRequest
376-
await self._async_send_kernel_sigterm()
376+
await ensure_async(self._send_kernel_sigterm())
377377

378378
try:
379379
await asyncio.wait_for(
@@ -531,7 +531,7 @@ async def _async_interrupt_kernel(self) -> None:
531531
assert self.kernel_spec is not None
532532
interrupt_mode = self.kernel_spec.interrupt_mode
533533
if interrupt_mode == "signal":
534-
await self._async_signal_kernel(signal.SIGINT)
534+
await ensure_async(self.signal_kernel(signal.SIGINT))
535535

536536
elif interrupt_mode == "message":
537537
msg = self.session.msg("interrupt_request", content={})
@@ -574,7 +574,7 @@ async def _async_wait(self, pollinterval: float = 0.1) -> None:
574574
# not alive. If we find the process is no longer alive, complete
575575
# its cleanup via the blocking wait(). Callers are responsible for
576576
# issuing calls to wait() using a timeout (see _kill_kernel()).
577-
while await self._async_is_alive():
577+
while await ensure_async(self.is_alive()):
578578
await asyncio.sleep(pollinterval)
579579

580580

jupyter_client/tests/test_kernelmanager.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,15 @@ def test_no_cleanup_shared_context(self, zmq_context):
298298

299299
def test_subclass_callables(self, km_subclass):
300300
km_subclass.reset_counts()
301+
301302
km_subclass.start_kernel(stdout=PIPE, stderr=PIPE)
302303
assert km_subclass.call_count("start_kernel") == 1
303304
assert km_subclass.call_count("_launch_kernel") == 1
304305

305306
is_alive = km_subclass.is_alive()
306307
assert is_alive
307308
km_subclass.reset_counts()
309+
308310
km_subclass.restart_kernel(now=True)
309311
assert km_subclass.call_count("restart_kernel") == 1
310312
assert km_subclass.call_count("shutdown_kernel") == 1
@@ -313,26 +315,32 @@ def test_subclass_callables(self, km_subclass):
313315
assert km_subclass.call_count("cleanup_resources") == 1
314316
assert km_subclass.call_count("start_kernel") == 1
315317
assert km_subclass.call_count("_launch_kernel") == 1
318+
assert km_subclass.call_count("signal_kernel") == 1
316319

317320
is_alive = km_subclass.is_alive()
318321
assert is_alive
319-
322+
assert km_subclass.call_count("is_alive") >= 1
320323
km_subclass.reset_counts()
324+
321325
km_subclass.interrupt_kernel()
322326
assert km_subclass.call_count("interrupt_kernel") == 1
327+
assert km_subclass.call_count("signal_kernel") == 1
323328

324329
assert isinstance(km_subclass, KernelManager)
325-
326330
km_subclass.reset_counts()
331+
327332
km_subclass.shutdown_kernel(now=False)
328333
assert km_subclass.call_count("shutdown_kernel") == 1
329334
assert km_subclass.call_count("interrupt_kernel") == 1
330335
assert km_subclass.call_count("request_shutdown") == 1
331336
assert km_subclass.call_count("finish_shutdown") == 1
332337
assert km_subclass.call_count("cleanup_resources") == 1
338+
assert km_subclass.call_count("signal_kernel") == 1
339+
assert km_subclass.call_count("is_alive") >= 1
333340

334341
is_alive = km_subclass.is_alive()
335342
assert is_alive is False
343+
assert km_subclass.call_count("is_alive") >= 1
336344
assert km_subclass.context.closed
337345

338346

@@ -516,13 +524,16 @@ async def test_start_new_async_kernel(self, install_kernel, start_async_kernel):
516524

517525
async def test_subclass_callables(self, async_km_subclass):
518526
async_km_subclass.reset_counts()
527+
519528
await async_km_subclass.start_kernel(stdout=PIPE, stderr=PIPE)
520529
assert async_km_subclass.call_count("start_kernel") == 1
521530
assert async_km_subclass.call_count("_launch_kernel") == 1
522531

523532
is_alive = await async_km_subclass.is_alive()
524533
assert is_alive
534+
assert async_km_subclass.call_count("is_alive") >= 1
525535
async_km_subclass.reset_counts()
536+
526537
await async_km_subclass.restart_kernel(now=True)
527538
assert async_km_subclass.call_count("restart_kernel") == 1
528539
assert async_km_subclass.call_count("shutdown_kernel") == 1
@@ -531,24 +542,30 @@ async def test_subclass_callables(self, async_km_subclass):
531542
assert async_km_subclass.call_count("cleanup_resources") == 1
532543
assert async_km_subclass.call_count("start_kernel") == 1
533544
assert async_km_subclass.call_count("_launch_kernel") == 1
545+
assert async_km_subclass.call_count("signal_kernel") == 1
534546

535547
is_alive = await async_km_subclass.is_alive()
536548
assert is_alive
537-
549+
assert async_km_subclass.call_count("is_alive") >= 1
538550
async_km_subclass.reset_counts()
551+
539552
await async_km_subclass.interrupt_kernel()
540553
assert async_km_subclass.call_count("interrupt_kernel") == 1
554+
assert async_km_subclass.call_count("signal_kernel") == 1
541555

542556
assert isinstance(async_km_subclass, AsyncKernelManager)
543-
544557
async_km_subclass.reset_counts()
558+
545559
await async_km_subclass.shutdown_kernel(now=False)
546560
assert async_km_subclass.call_count("shutdown_kernel") == 1
547561
assert async_km_subclass.call_count("interrupt_kernel") == 1
548562
assert async_km_subclass.call_count("request_shutdown") == 1
549563
assert async_km_subclass.call_count("finish_shutdown") == 1
550564
assert async_km_subclass.call_count("cleanup_resources") == 1
565+
assert async_km_subclass.call_count("signal_kernel") == 1
566+
assert async_km_subclass.call_count("is_alive") >= 1
551567

552568
is_alive = await async_km_subclass.is_alive()
553569
assert is_alive is False
570+
assert async_km_subclass.call_count("is_alive") >= 1
554571
assert async_km_subclass.context.closed

jupyter_client/tests/utils.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,18 @@ def _kill_kernel(self):
145145
def cleanup_resources(self, restart=False):
146146
""" Record call and defer to superclass """
147147

148+
@subclass_recorder
149+
def signal_kernel(self, signum: int):
150+
""" Record call and defer to superclass """
151+
152+
@subclass_recorder
153+
def is_alive(self):
154+
""" Record call and defer to superclass """
155+
156+
@subclass_recorder
157+
def _send_kernel_sigterm(self, restart: bool = False):
158+
""" Record call and defer to superclass """
159+
148160

149161
class SyncKMSubclass(KMSubclass, KernelManager):
150162
"""Used to test subclass hierarchies to ensure methods are called when expected."""

0 commit comments

Comments
 (0)