Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jupyter-server for
openSUSE:Factory checked in at 2021-11-17 01:13:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-server (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter-server.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-server"
Wed Nov 17 01:13:49 2021 rev:19 rq:931611 version:1.11.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-jupyter-server/python-jupyter-server.changes
2021-10-29 22:35:16.259705639 +0200
+++
/work/SRC/openSUSE:Factory/.python-jupyter-server.new.1890/python-jupyter-server.changes
2021-11-17 01:14:46.966184007 +0100
@@ -1,0 +2,16 @@
+Fri Nov 12 21:41:00 UTC 2021 - Ben Greiner <[email protected]>
+
+- Update to 1.11.2
+ * Fix \s deprecation warning #600 (@Zsailer)
+ * Remove requests-unixsocket dependency #599 (@kevin-bates)
+ * bugfix: dir_exists is never awaited #597 (@stdll00)
+ * Fix missing await when call 'async_replace_file' #595
+ (@Wh1isper)
+ * add a pytest fixture for capturing logging stream #588
+ (@Zsailer)
+ * Maintenance and upkeep improvements
+ * Avoid dependency on NBConvert versions for REST API test #601
+ (@Zsailer)
+- Re-enable libalternatives
+
+-------------------------------------------------------------------
Old:
----
jupyter_server-1.11.1.tar.gz
New:
----
jupyter_server-1.11.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter-server.spec ++++++
--- /var/tmp/diff_new_pack.yld1tV/_old 2021-11-17 01:14:47.462184193 +0100
+++ /var/tmp/diff_new_pack.yld1tV/_new 2021-11-17 01:14:47.462184193 +0100
@@ -17,8 +17,7 @@
#
-%bcond_with libalternatives_issue_11_fixed
-%if 0%{?suse_version} > 1500 && %{with libalternatives_issue_11_fixed}
+%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
@@ -27,7 +26,7 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-jupyter-server
-Version: 1.11.1
+Version: 1.11.2
Release: 0
Summary: The backend to Jupyter web applications
License: BSD-3-Clause
@@ -47,7 +46,6 @@
BuildRequires: %{python_module nbformat}
BuildRequires: %{python_module prometheus_client}
BuildRequires: %{python_module pyzmq >= 17}
-BuildRequires: %{python_module requests-unixsocket}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module terminado >= 0.8.3}
BuildRequires: %{python_module tornado >= 6.1}
@@ -68,7 +66,6 @@
Requires: python-nbformat
Requires: python-prometheus_client
Requires: python-pyzmq >= 17
-Requires: python-requests-unixsocket
Requires: python-terminado >= 0.8.3
Requires: python-tornado >= 6.1
Requires: python-traitlets >= 4.2.1
++++++ jupyter_server-1.11.1.tar.gz -> jupyter_server-1.11.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_server-1.11.1/CHANGELOG.md
new/jupyter_server-1.11.2/CHANGELOG.md
--- old/jupyter_server-1.11.1/CHANGELOG.md 2021-10-04 23:47:37.000000000
+0200
+++ new/jupyter_server-1.11.2/CHANGELOG.md 2021-11-01 21:22:56.000000000
+0100
@@ -4,6 +4,31 @@
<!-- <START NEW CHANGELOG ENTRY> -->
+## 1.11.2
+
+([Full
Changelog](https://github.com/jupyter-server/jupyter_server/compare/v1.11.1...fda4cc5a96703bb4e871a5a622ef6031c7f6385b))
+
+### Bugs fixed
+
+- Fix \s deprecation warning
[#600](https://github.com/jupyter-server/jupyter_server/pull/600)
([@Zsailer](https://github.com/Zsailer))
+- Remove requests-unixsocket dependency
[#599](https://github.com/jupyter-server/jupyter_server/pull/599)
([@kevin-bates](https://github.com/kevin-bates))
+- bugfix: dir_exists is never awaited
[#597](https://github.com/jupyter-server/jupyter_server/pull/597)
([@stdll00](https://github.com/stdll00))
+- Fix missing await when call 'async_replace_file'
[#595](https://github.com/jupyter-server/jupyter_server/pull/595)
([@Wh1isper](https://github.com/Wh1isper))
+- add a pytest fixture for capturing logging stream
[#588](https://github.com/jupyter-server/jupyter_server/pull/588)
([@Zsailer](https://github.com/Zsailer))
+
+### Maintenance and upkeep improvements
+
+- Avoid dependency on NBConvert versions for REST API test
[#601](https://github.com/jupyter-server/jupyter_server/pull/601)
([@Zsailer](https://github.com/Zsailer))
+- Bump ansi-regex from 5.0.0 to 5.0.1
[#590](https://github.com/jupyter-server/jupyter_server/pull/590)
([@dependabot](https://github.com/dependabot))
+
+### Contributors to this release
+
+([GitHub contributors page for this
release](https://github.com/jupyter-server/jupyter_server/graphs/contributors?from=2021-10-04&to=2021-11-01&type=c))
+
+[@codecov-commenter](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3Acodecov-commenter+updated%3A2021-10-04..2021-11-01&type=Issues)
|
[@dependabot](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3Adependabot+updated%3A2021-10-04..2021-11-01&type=Issues)
|
[@kevin-bates](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3Akevin-bates+updated%3A2021-10-04..2021-11-01&type=Issues)
|
[@stdll00](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3Astdll00+updated%3A2021-10-04..2021-11-01&type=Issues)
|
[@welcome](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3Awelcome+updated%3A2021-10-04..2021-11-01&type=Issues)
|
[@Wh1isper](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3AWh1isper+updated%3A2021-10-04..2021-11-01&type=Issues)
|
[@Zsailer](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3AZs
ailer+updated%3A2021-10-04..2021-11-01&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
## 1.11.1
([Full
Changelog](https://github.com/jupyter-server/jupyter_server/compare/v1.11.0...f4c3889658c1daad1d8966438d1f1b98b3f60641))
@@ -19,8 +44,6 @@
[@codecov-commenter](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3Acodecov-commenter+updated%3A2021-09-09..2021-10-04&type=Issues)
|
[@martinRenou](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3AmartinRenou+updated%3A2021-09-09..2021-10-04&type=Issues)
|
[@Zsailer](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+involves%3AZsailer+updated%3A2021-09-09..2021-10-04&type=Issues)
-<!-- <END NEW CHANGELOG ENTRY> -->
-
## 1.11.0
([Full
Changelog](https://github.com/jupyter-server/jupyter_server/compare/v1.10.2...1863fde11af7971d040ad50ad015caa83b6c7d54))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_server-1.11.1/PKG-INFO
new/jupyter_server-1.11.2/PKG-INFO
--- old/jupyter_server-1.11.1/PKG-INFO 2021-10-04 23:48:05.918442700 +0200
+++ new/jupyter_server-1.11.2/PKG-INFO 2021-11-01 21:23:33.281527500 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jupyter_server
-Version: 1.11.1
+Version: 1.11.2
Summary: The backend???i.e. core services, APIs, and REST endpoints???to
Jupyter web applications.
Home-page: https://jupyter.org
Author: Jupyter Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_server-1.11.1/jupyter_server/_version.py
new/jupyter_server-1.11.2/jupyter_server/_version.py
--- old/jupyter_server-1.11.1/jupyter_server/_version.py 2021-10-04
23:47:54.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server/_version.py 2021-11-01
21:23:18.000000000 +0100
@@ -5,7 +5,7 @@
import re
# Version string must appear intact for tbump versioning
-__version__ = "1.11.1"
+__version__ = "1.11.2"
# Build up version_info tuple for backwards compatibility
pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_server-1.11.1/jupyter_server/auth/login.py
new/jupyter_server-1.11.2/jupyter_server/auth/login.py
--- old/jupyter_server-1.11.1/jupyter_server/auth/login.py 2021-10-04
23:47:37.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server/auth/login.py 2021-11-01
21:22:56.000000000 +0100
@@ -109,7 +109,7 @@
handler.set_secure_cookie(handler.cookie_name, user_id,
**cookie_options)
return user_id
- auth_header_pat = re.compile("token\s+(.+)", re.IGNORECASE)
+ auth_header_pat = re.compile(r"token\s+(.+)", re.IGNORECASE)
@classmethod
def get_token(cls, handler):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/pytest_plugin.py
new/jupyter_server-1.11.2/jupyter_server/pytest_plugin.py
--- old/jupyter_server-1.11.1/jupyter_server/pytest_plugin.py 2021-10-04
23:47:37.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server/pytest_plugin.py 2021-11-01
21:22:56.000000000 +0100
@@ -1,6 +1,8 @@
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
+import io
import json
+import logging
import os
import shutil
import sys
@@ -18,7 +20,6 @@
from jupyter_server.serverapp import ServerApp
from jupyter_server.services.contents.filemanager import FileContentsManager
from jupyter_server.services.contents.largefilemanager import LargeFileManager
-from jupyter_server.utils import run_sync
from jupyter_server.utils import url_path_join
@@ -180,6 +181,22 @@
shutil.copytree(nbconvert_path, str(nbconvert_target))
[email protected]
+def jp_logging_stream():
+ """StringIO stream intended to be used by the core
+ Jupyter ServerApp logger's default StreamHandler. This
+ helps avoid collision with stdout which is hijacked
+ by Pytest.
+ """
+ logging_stream = io.StringIO()
+ yield logging_stream
+ output = logging_stream.getvalue()
+ # If output exists, print it.
+ if output:
+ print(output)
+ return output
+
+
@pytest.fixture(scope="function")
def jp_configurable_serverapp(
jp_nbconvert_templates, # this fixture must preceed jp_environ
@@ -191,6 +208,7 @@
tmp_path,
jp_root_dir,
io_loop,
+ jp_logging_stream,
):
"""Starts a Jupyter Server instance based on
the provided configuration values.
@@ -240,6 +258,11 @@
app.log.handlers = []
# Initialize app without httpserver
app.initialize(argv=argv, new_httpserver=False)
+ # Reroute all logging StreamHandlers away from stdin/stdout since
pytest hijacks
+ # these streams and closes them at unfortunate times.
+ stream_handlers = [h for h in app.log.handlers if isinstance(h,
logging.StreamHandler)]
+ for handler in stream_handlers:
+ handler.setStream(jp_logging_stream)
app.log.propagate = True
app.log.handlers = []
# Start app without ioloop
@@ -279,7 +302,8 @@
"""Starts a Jupyter Server instance based on the established configuration
values."""
app = jp_configurable_serverapp(config=jp_server_config, argv=jp_argv)
yield app
- run_sync(app._cleanup())
+ app.remove_server_info_file()
+ app.remove_browser_open_files()
@pytest.fixture
@@ -440,3 +464,22 @@
def jp_server_cleanup():
yield
ServerApp.clear_instance()
+
+
[email protected]
+def jp_cleanup_subprocesses(jp_serverapp):
+ """Clean up subprocesses started by a Jupyter Server, i.e. kernels and
terminal."""
+
+ async def _():
+ terminal_cleanup =
jp_serverapp.web_app.settings["terminal_manager"].terminate_all
+ kernel_cleanup = jp_serverapp.kernel_manager.shutdown_all
+ if asyncio.iscoroutinefunction(terminal_cleanup):
+ await terminal_cleanup()
+ else:
+ terminal_cleanup()
+ if asyncio.iscoroutinefunction(kernel_cleanup):
+ await kernel_cleanup()
+ else:
+ kernel_cleanup()
+
+ return _
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/services/contents/fileio.py
new/jupyter_server-1.11.2/jupyter_server/services/contents/fileio.py
--- old/jupyter_server-1.11.1/jupyter_server/services/contents/fileio.py
2021-10-04 23:47:37.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server/services/contents/fileio.py
2021-11-01 21:22:56.000000000 +0100
@@ -373,8 +373,8 @@
# Move the bad file aside, restore the intermediate, and try again.
invalid_file = path_to_invalid(os_path)
- async_replace_file(os_path, invalid_file)
- async_replace_file(tmp_path, os_path)
+ await async_replace_file(os_path, invalid_file)
+ await async_replace_file(tmp_path, os_path)
return await self._read_notebook(os_path, as_version)
async def _save_notebook(self, os_path, nb):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/tests/services/contents/test_manager.py
new/jupyter_server-1.11.2/jupyter_server/tests/services/contents/test_manager.py
---
old/jupyter_server-1.11.1/jupyter_server/tests/services/contents/test_manager.py
2021-10-04 23:47:37.000000000 +0200
+++
new/jupyter_server-1.11.2/jupyter_server/tests/services/contents/test_manager.py
2021-11-01 21:22:56.000000000 +0100
@@ -551,7 +551,7 @@
await ensure_async(cm.delete_file(dir))
else:
await ensure_async(cm.delete_file(dir))
- assert cm.dir_exists(dir) == False
+ assert await ensure_async(cm.dir_exists(dir)) == False
async def test_rename(jp_contents_manager):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/tests/services/kernels/test_api.py
new/jupyter_server-1.11.2/jupyter_server/tests/services/kernels/test_api.py
--- old/jupyter_server-1.11.1/jupyter_server/tests/services/kernels/test_api.py
2021-10-04 23:47:37.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server/tests/services/kernels/test_api.py
2021-11-01 21:22:56.000000000 +0100
@@ -23,7 +23,7 @@
assert kernels == []
-async def test_default_kernels(jp_fetch, jp_base_url):
+async def test_default_kernels(jp_fetch, jp_base_url, jp_cleanup_subprocesses):
r = await jp_fetch("api", "kernels", method="POST",
allow_nonstandard_methods=True)
kernel = json.loads(r.body.decode())
assert r.headers["location"] == url_path_join(jp_base_url,
"/api/kernels/", kernel["id"])
@@ -35,9 +35,10 @@
["frame-ancestors 'self'", "report-uri " + report_uri, "default-src
'none'"]
)
assert r.headers["Content-Security-Policy"] == expected_csp
+ await jp_cleanup_subprocesses()
-async def test_main_kernel_handler(jp_fetch, jp_base_url):
+async def test_main_kernel_handler(jp_fetch, jp_base_url,
jp_cleanup_subprocesses):
# Start the first kernel
r = await jp_fetch(
"api", "kernels", method="POST", body=json.dumps({"name":
NATIVE_KERNEL_NAME})
@@ -98,9 +99,10 @@
)
kernel3 = json.loads(r.body.decode())
assert isinstance(kernel3, dict)
+ await jp_cleanup_subprocesses()
-async def test_kernel_handler(jp_fetch):
+async def test_kernel_handler(jp_fetch, jp_cleanup_subprocesses):
# Create a kernel
r = await jp_fetch(
"api", "kernels", method="POST", body=json.dumps({"name":
NATIVE_KERNEL_NAME})
@@ -138,10 +140,12 @@
with pytest.raises(tornado.httpclient.HTTPClientError) as e:
await jp_fetch("api", "kernels", bad_id, method="DELETE")
assert expected_http_error(e, 404, "Kernel does not exist: " + bad_id)
+ await jp_cleanup_subprocesses()
-async def test_connection(jp_fetch, jp_ws_fetch, jp_http_port, jp_auth_header):
- print("hello")
+async def test_connection(
+ jp_fetch, jp_ws_fetch, jp_http_port, jp_auth_header,
jp_cleanup_subprocesses
+):
# Create kernel
r = await jp_fetch(
"api", "kernels", method="POST", body=json.dumps({"name":
NATIVE_KERNEL_NAME})
@@ -175,3 +179,4 @@
r = await jp_fetch("api", "kernels", kid, method="GET")
model = json.loads(r.body.decode())
assert model["connections"] == 0
+ await jp_cleanup_subprocesses()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/tests/services/kernels/test_cull.py
new/jupyter_server-1.11.2/jupyter_server/tests/services/kernels/test_cull.py
---
old/jupyter_server-1.11.1/jupyter_server/tests/services/kernels/test_cull.py
2021-10-04 23:47:37.000000000 +0200
+++
new/jupyter_server-1.11.2/jupyter_server/tests/services/kernels/test_cull.py
2021-11-01 21:22:56.000000000 +0100
@@ -34,7 +34,7 @@
)
-async def test_culling(jp_fetch, jp_ws_fetch):
+async def test_culling(jp_fetch, jp_ws_fetch, jp_cleanup_subprocesses):
r = await jp_fetch("api", "kernels", method="POST",
allow_nonstandard_methods=True)
kernel = json.loads(r.body.decode())
kid = kernel["id"]
@@ -50,6 +50,7 @@
ws.close()
culled = await get_cull_status(kid, jp_fetch) # not connected, should be
culled
assert culled
+ await jp_cleanup_subprocesses()
async def get_cull_status(kid, jp_fetch):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/tests/services/nbconvert/test_api.py
new/jupyter_server-1.11.2/jupyter_server/tests/services/nbconvert/test_api.py
---
old/jupyter_server-1.11.1/jupyter_server/tests/services/nbconvert/test_api.py
2021-10-04 23:47:37.000000000 +0200
+++
new/jupyter_server-1.11.2/jupyter_server/tests/services/nbconvert/test_api.py
2021-11-01 21:22:56.000000000 +0100
@@ -4,7 +4,11 @@
async def test_list_formats(jp_fetch):
r = await jp_fetch("api", "nbconvert", method="GET")
formats = json.loads(r.body.decode())
+ # Verify the type of the response.
assert isinstance(formats, dict)
- assert "python" in formats
- assert "html" in formats
- assert formats["python"]["output_mimetype"] == "text/x-python"
+ # Verify that all returned formats have an
+ # output mimetype defined.
+ required_keys_present = []
+ for name, data in formats.items():
+ required_keys_present.append("output_mimetype" in data)
+ assert all(required_keys_present), "All returned formats must have a
`output_mimetype` key."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/tests/services/sessions/test_api.py
new/jupyter_server-1.11.2/jupyter_server/tests/services/sessions/test_api.py
---
old/jupyter_server-1.11.1/jupyter_server/tests/services/sessions/test_api.py
2021-10-04 23:47:37.000000000 +0200
+++
new/jupyter_server-1.11.2/jupyter_server/tests/services/sessions/test_api.py
2021-11-01 21:22:56.000000000 +0100
@@ -151,7 +151,7 @@
assert_kernel_equality(actual["kernel"], expected["kernel"])
-async def test_create(session_client, jp_base_url):
+async def test_create(session_client, jp_base_url, jp_cleanup_subprocesses):
# Make sure no sessions exist.
resp = await session_client.list()
sessions = j(resp)
@@ -182,18 +182,20 @@
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_create_file_session(session_client):
+async def test_create_file_session(session_client, jp_cleanup_subprocesses):
resp = await session_client.create("foo/nb1.py", type="file")
assert resp.code == 201
newsession = j(resp)
assert newsession["path"] == "foo/nb1.py"
assert newsession["type"] == "file"
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_create_console_session(session_client):
+async def test_create_console_session(session_client, jp_cleanup_subprocesses):
resp = await session_client.create("foo/abc123", type="console")
assert resp.code == 201
newsession = j(resp)
@@ -201,9 +203,10 @@
assert newsession["type"] == "console"
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_create_deprecated(session_client):
+async def test_create_deprecated(session_client, jp_cleanup_subprocesses):
resp = await session_client.create_deprecated("foo/nb1.ipynb")
assert resp.code == 201
newsession = j(resp)
@@ -212,9 +215,12 @@
assert newsession["notebook"]["path"] == "foo/nb1.ipynb"
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_create_with_kernel_id(session_client, jp_fetch, jp_base_url):
+async def test_create_with_kernel_id(
+ session_client, jp_fetch, jp_base_url, jp_cleanup_subprocesses
+):
# create a new kernel
resp = await jp_fetch("api/kernels", method="POST",
allow_nonstandard_methods=True)
kernel = j(resp)
@@ -241,9 +247,10 @@
assert_session_equality(got, new_session)
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_delete(session_client):
+async def test_delete(session_client, jp_cleanup_subprocesses):
resp = await session_client.create("foo/nb1.ipynb")
newsession = j(resp)
sid = newsession["id"]
@@ -260,9 +267,10 @@
assert expected_http_error(e, 404)
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_modify_path(session_client):
+async def test_modify_path(session_client, jp_cleanup_subprocesses):
resp = await session_client.create("foo/nb1.ipynb")
newsession = j(resp)
sid = newsession["id"]
@@ -273,9 +281,10 @@
assert changed["path"] == "nb2.ipynb"
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_modify_path_deprecated(session_client):
+async def test_modify_path_deprecated(session_client, jp_cleanup_subprocesses):
resp = await session_client.create("foo/nb1.ipynb")
newsession = j(resp)
sid = newsession["id"]
@@ -286,9 +295,10 @@
assert changed["notebook"]["path"] == "nb2.ipynb"
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_modify_type(session_client):
+async def test_modify_type(session_client, jp_cleanup_subprocesses):
resp = await session_client.create("foo/nb1.ipynb")
newsession = j(resp)
sid = newsession["id"]
@@ -299,9 +309,10 @@
assert changed["type"] == "console"
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_modify_kernel_name(session_client, jp_fetch):
+async def test_modify_kernel_name(session_client, jp_fetch,
jp_cleanup_subprocesses):
resp = await session_client.create("foo/nb1.ipynb")
before = j(resp)
sid = before["id"]
@@ -321,9 +332,10 @@
assert kernel_list == [after["kernel"]]
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_modify_kernel_id(session_client, jp_fetch):
+async def test_modify_kernel_id(session_client, jp_fetch,
jp_cleanup_subprocesses):
resp = await session_client.create("foo/nb1.ipynb")
before = j(resp)
sid = before["id"]
@@ -351,9 +363,12 @@
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
-async def test_restart_kernel(session_client, jp_base_url, jp_fetch,
jp_ws_fetch):
+async def test_restart_kernel(
+ session_client, jp_base_url, jp_fetch, jp_ws_fetch, jp_cleanup_subprocesses
+):
# Create a session.
resp = await session_client.create("foo/nb1.ipynb")
@@ -412,3 +427,4 @@
# Need to find a better solution to this.
await session_client.cleanup()
+ await jp_cleanup_subprocesses()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server/tests/test_terminal.py
new/jupyter_server-1.11.2/jupyter_server/tests/test_terminal.py
--- old/jupyter_server-1.11.1/jupyter_server/tests/test_terminal.py
2021-10-04 23:47:37.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server/tests/test_terminal.py
2021-11-01 21:22:56.000000000 +0100
@@ -8,16 +8,6 @@
from traitlets.config import Config
-# Kill all running terminals after each test to avoid cross-test issues
-# with still running terminals.
[email protected]
-def kill_all(jp_serverapp):
- async def _():
- await jp_serverapp.web_app.settings["terminal_manager"].kill_all()
-
- return _
-
-
@pytest.fixture
def terminal_path(tmp_path):
subdir = tmp_path.joinpath("terminal_path")
@@ -59,7 +49,7 @@
assert len(data) == 0
-async def test_terminal_create(jp_fetch, kill_all):
+async def test_terminal_create(jp_fetch, jp_cleanup_subprocesses):
resp = await jp_fetch(
"api",
"terminals",
@@ -80,10 +70,12 @@
assert len(data) == 1
assert data[0] == term
- await kill_all()
+ await jp_cleanup_subprocesses()
-async def test_terminal_create_with_kwargs(jp_fetch, jp_ws_fetch,
terminal_path, kill_all):
+async def test_terminal_create_with_kwargs(
+ jp_fetch, jp_ws_fetch, terminal_path, jp_cleanup_subprocesses
+):
resp_create = await jp_fetch(
"api",
"terminals",
@@ -106,10 +98,12 @@
data = json.loads(resp_get.body.decode())
assert data["name"] == term_name
- await kill_all()
+ await jp_cleanup_subprocesses()
-async def test_terminal_create_with_cwd(jp_fetch, jp_ws_fetch, terminal_path):
+async def test_terminal_create_with_cwd(
+ jp_fetch, jp_ws_fetch, terminal_path, jp_cleanup_subprocesses
+):
resp = await jp_fetch(
"api",
"terminals",
@@ -140,6 +134,7 @@
ws.close()
assert os.path.basename(terminal_path) in message_stdout
+ await jp_cleanup_subprocesses()
async def test_culling_config(jp_server_config, jp_configurable_serverapp):
@@ -151,7 +146,7 @@
assert terminal_mgr_settings.cull_interval == CULL_INTERVAL
-async def test_culling(jp_server_config, jp_fetch):
+async def test_culling(jp_server_config, jp_fetch, jp_cleanup_subprocesses):
# POST request
resp = await jp_fetch(
"api",
@@ -181,3 +176,4 @@
await asyncio.sleep(1)
assert culled
+ await jp_cleanup_subprocesses()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server.egg-info/PKG-INFO
new/jupyter_server-1.11.2/jupyter_server.egg-info/PKG-INFO
--- old/jupyter_server-1.11.1/jupyter_server.egg-info/PKG-INFO 2021-10-04
23:48:05.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server.egg-info/PKG-INFO 2021-11-01
21:23:33.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jupyter-server
-Version: 1.11.1
+Version: 1.11.2
Summary: The backend???i.e. core services, APIs, and REST endpoints???to
Jupyter web applications.
Home-page: https://jupyter.org
Author: Jupyter Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_server-1.11.1/jupyter_server.egg-info/requires.txt
new/jupyter_server-1.11.2/jupyter_server.egg-info/requires.txt
--- old/jupyter_server-1.11.1/jupyter_server.egg-info/requires.txt
2021-10-04 23:48:05.000000000 +0200
+++ new/jupyter_server-1.11.2/jupyter_server.egg-info/requires.txt
2021-11-01 21:23:33.000000000 +0100
@@ -13,7 +13,6 @@
prometheus_client
anyio<4,>=3.1.0
websocket-client
-requests-unixsocket
[test]
coverage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_server-1.11.1/pyproject.toml
new/jupyter_server-1.11.2/pyproject.toml
--- old/jupyter_server-1.11.1/pyproject.toml 2021-10-04 23:47:54.000000000
+0200
+++ new/jupyter_server-1.11.2/pyproject.toml 2021-11-01 21:23:18.000000000
+0100
@@ -18,7 +18,7 @@
skip = ["check-links"]
[tool.tbump.version]
-current = "1.11.1"
+current = "1.11.2"
regex = '''
(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
((?P<channel>a|b|rc|.dev)(?P<release>\d+))?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_server-1.11.1/setup.cfg
new/jupyter_server-1.11.2/setup.cfg
--- old/jupyter_server-1.11.1/setup.cfg 2021-10-04 23:48:05.922442700 +0200
+++ new/jupyter_server-1.11.2/setup.cfg 2021-11-01 21:23:33.281527500 +0100
@@ -42,7 +42,6 @@
prometheus_client
anyio>=3.1.0,<4
websocket-client
- requests-unixsocket
[options.extras_require]
test =