From bfac3fcd571c57d0a766ec791aa07fc4005fd434 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 4 Apr 2022 03:56:23 -0500 Subject: [PATCH 1/4] make cell_id optional --- ipykernel/ipkernel.py | 2 +- ipykernel/kernelbase.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ipykernel/ipkernel.py b/ipykernel/ipkernel.py index 77ee7bfc9..3c695975f 100644 --- a/ipykernel/ipkernel.py +++ b/ipykernel/ipkernel.py @@ -304,7 +304,7 @@ async def do_execute( user_expressions=None, allow_stdin=False, *, - cell_id, + cell_id=None, ): shell = self.shell # we'll need this a lot here diff --git a/ipykernel/kernelbase.py b/ipykernel/kernelbase.py index 49224608f..7c80afda1 100644 --- a/ipykernel/kernelbase.py +++ b/ipykernel/kernelbase.py @@ -749,7 +749,14 @@ async def execute_request(self, stream, ident, parent): self._abort_queues() def do_execute( - self, code, silent, store_history=True, user_expressions=None, allow_stdin=False + self, + code, + silent, + store_history=True, + user_expressions=None, + allow_stdin=False, + *, + cell_id=None, ): """Execute user code. Must be overridden by subclasses.""" raise NotImplementedError From 13c887ca6d39a302ed792d4d32d9ea9034c9f468 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 4 Apr 2022 04:33:14 -0500 Subject: [PATCH 2/4] clean up tests and add do_execute test --- ipykernel/inprocess/tests/test_kernel.py | 6 ++++++ pyproject.toml | 7 +++++-- setup.py | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ipykernel/inprocess/tests/test_kernel.py b/ipykernel/inprocess/tests/test_kernel.py index ed9a5aaa9..2a2311fe0 100644 --- a/ipykernel/inprocess/tests/test_kernel.py +++ b/ipykernel/inprocess/tests/test_kernel.py @@ -1,6 +1,7 @@ # Copyright (c) IPython Development Team. # Distributed under the terms of the Modified BSD License. +import asyncio import sys import unittest from contextlib import contextmanager @@ -148,3 +149,8 @@ def test_getpass_stream(self): kernel._input_request = lambda *args, **kwargs: None kernel.getpass(stream="non empty") + + def test_do_execute(self): + kernel = InProcessKernel() + asyncio.run(kernel.do_execute("a=1", True)) + assert kernel.shell.user_ns["a"] == 1 diff --git a/pyproject.toml b/pyproject.toml index bb62a3784..44bf15116 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,9 +30,9 @@ tag_template = "v{new_version}" src = "ipykernel/_version.py" [tool.pytest.ini_options] -addopts = "-raXs --durations 10 --color=yes --doctest-modules" +addopts = "-raXs --durations 10 --color=yes --doctest-modules --ignore=ipykernel/pylab/backend_inline.py --ignore=ipykernel/pylab/config.py --ignore=ipykernel/gui/gtk3embed.py --ignore=ipykernel/gui/gtkembed.py --ignore=ipykernel/datapub.py --ignore=ipykernel/log.py --ignore=ipykernel/pickleutil.py --ignore=ipykernel/serialize.py" testpaths = [ - "ipykernel/tests/" + "ipykernel/" ] timeout = 300 # Restore this setting to debug failures @@ -41,6 +41,9 @@ filterwarnings= [ # Fail on warnings "error", + # https://github.com/minrk/appnope/issues/13 + "ignore:distutils Version classes are deprecated:DeprecationWarning:appnope", + # Ignore jupyter_client warnings "ignore:unclosed Date: Mon, 4 Apr 2022 04:37:00 -0500 Subject: [PATCH 3/4] add another ignore --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 44bf15116..c785da6b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ tag_template = "v{new_version}" src = "ipykernel/_version.py" [tool.pytest.ini_options] -addopts = "-raXs --durations 10 --color=yes --doctest-modules --ignore=ipykernel/pylab/backend_inline.py --ignore=ipykernel/pylab/config.py --ignore=ipykernel/gui/gtk3embed.py --ignore=ipykernel/gui/gtkembed.py --ignore=ipykernel/datapub.py --ignore=ipykernel/log.py --ignore=ipykernel/pickleutil.py --ignore=ipykernel/serialize.py" +addopts = "-raXs --durations 10 --color=yes --doctest-modules --ignore=ipykernel/pylab/backend_inline.py --ignore=ipykernel/pylab/config.py --ignore=ipykernel/gui/gtk3embed.py --ignore=ipykernel/gui/gtkembed.py --ignore=ipykernel/datapub.py --ignore=ipykernel/log.py --ignore=ipykernel/pickleutil.py --ignore=ipykernel/serialize.py --ignore=ipykernel/_eventloop_macos.py" testpaths = [ "ipykernel/" ] From f313e446941caad18188a0ba8ffab1f8e08f7c8f Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 4 Apr 2022 04:41:34 -0500 Subject: [PATCH 4/4] add another ignore --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index c785da6b4..7690548eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,6 +41,9 @@ filterwarnings= [ # Fail on warnings "error", + # Ignore our own warnings + "ignore:The `stream` parameter of `getpass.getpass` will have no effect:UserWarning", + # https://github.com/minrk/appnope/issues/13 "ignore:distutils Version classes are deprecated:DeprecationWarning:appnope",