Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-Werkzeug for openSUSE:Factory 
checked in at 2022-05-08 21:52:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Werkzeug (Old)
 and      /work/SRC/openSUSE:Factory/.python-Werkzeug.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Werkzeug"

Sun May  8 21:52:23 2022 rev:36 rq:975271 version:2.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Werkzeug/python-Werkzeug.changes  
2022-04-23 19:45:39.314961138 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-Werkzeug.new.1538/python-Werkzeug.changes    
    2022-05-08 21:52:33.439478592 +0200
@@ -1,0 +2,8 @@
+Thu Apr 28 16:25:37 UTC 2022 - Matej Cepl <mc...@suse.com>
+
+- Replace no-network-testing.patch with the upstream solution
+  2402-dev_server.patch from gh#pallets/werkzeug#2402.
+- Add moved_root.patch to make test test_exclude_patterns with
+  different PYTHONPATH.
+
+-------------------------------------------------------------------

Old:
----
  no-network-testing.patch

New:
----
  2402-dev_server.patch
  moved_root.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-Werkzeug.spec ++++++
--- /var/tmp/diff_new_pack.0SRE0I/_old  2022-05-08 21:52:33.867479130 +0200
+++ /var/tmp/diff_new_pack.0SRE0I/_new  2022-05-08 21:52:33.871479135 +0200
@@ -27,9 +27,13 @@
 Group:          Development/Languages/Python
 URL:            https://werkzeug.palletsprojects.com
 Source:         
https://files.pythonhosted.org/packages/source/W/Werkzeug/Werkzeug-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM no-network-testing.patch gh#pallets/werkzeug#2393 
mc...@suse.com
-# mark tests which require network access
-Patch0:         no-network-testing.patch
+# PATCH-FIX-UPSTREAM 2402-dev_server.patch gh#pallets/werkzeug#2393 
mc...@suse.com
+# upstream solution to mark tests which require development server
+# from https://github.com/pallets/werkzeug/pull/2402
+Patch0:         2402-dev_server.patch
+# PATCH-FIX-UPSTREAM moved_root.patch bsc#[0-9]+ mc...@suse.com
+# this patch makes things totally awesome
+Patch1:         moved_root.patch
 BuildRequires:  %{python_module cryptography}
 BuildRequires:  %{python_module ephemeral-port-reserve}
 BuildRequires:  %{python_module hypothesis}
@@ -83,7 +87,7 @@
 export LANG=en_US.UTF-8
 export PYTHONDONTWRITEBYTECODE=1
 # workaround pytest 6.2 (like 
https://github.com/pallets/werkzeug/commit/16718f461d016b88b6457d3ef63816b7df1f0d1f,
 but shorter)
-%pytest -k 'not (network or test_reloader_sys_path or test_chunked_encoding or 
test_basic or test_server or test_ssl or test_http_proxy or test_500_error or 
test_untrusted_host or test_double_slash_path or test_wrong_protocol or 
test_content_type_and_length or test_multiple_headers_concatenated or 
test_multiline_header_folding)'
+%pytest -k 'not (dev_server or test_reloader_sys_path or test_chunked_encoding 
or test_basic or test_server or test_ssl or test_http_proxy or test_500_error 
or test_untrusted_host or test_double_slash_path or test_wrong_protocol or 
test_content_type_and_length or test_multiple_headers_concatenated or 
test_multiline_header_folding)'
 
 %files %{python_files}
 %license LICENSE.rst

++++++ 2402-dev_server.patch ++++++
>From 9d83ed43027b6538efde5b708395fed36700d970 Mon Sep 17 00:00:00 2001
From: David Lord <david...@gmail.com>
Date: Mon, 25 Apr 2022 11:08:09 -0700
Subject: [PATCH] mark test that use the dev_server

---
 setup.cfg                           |    2 ++
 tests/middleware/test_http_proxy.py |    1 +
 tests/test_debug.py                 |    1 +
 tests/test_serving.py               |   15 +++++++++++++++
 4 files changed, 19 insertions(+)

--- a/setup.cfg
+++ b/setup.cfg
@@ -44,6 +44,8 @@ where = src
 testpaths = tests
 filterwarnings = 
        error
+markers =
+    dev_server: tests that start the dev server
 
 [coverage:run]
 branch = True
--- a/tests/middleware/test_http_proxy.py
+++ b/tests/middleware/test_http_proxy.py
@@ -6,6 +6,7 @@ from werkzeug.wrappers import Response
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_http_proxy(standard_app):
     app = ProxyMiddleware(
         Response("ROOT"),
--- a/tests/test_debug.py
+++ b/tests/test_debug.py
@@ -247,6 +247,7 @@ def test_get_machine_id():
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
 @pytest.mark.parametrize("crash", (True, False))
+@pytest.mark.dev_server
 def test_basic(dev_server, crash):
     c = dev_server(use_debugger=True)
     r = c.request("/crash" if crash else "")
--- a/tests/test_serving.py
+++ b/tests/test_serving.py
@@ -35,6 +35,7 @@ from werkzeug.test import stream_encode_
         ),
     ],
 )
+@pytest.mark.dev_server
 def test_server(tmp_path, dev_server, kwargs: dict):
     if kwargs.get("hostname") == "unix":
         kwargs["hostname"] = f"unix://{tmp_path / 'test.sock'}"
@@ -46,6 +47,7 @@ def test_server(tmp_path, dev_server, kw
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_untrusted_host(standard_app):
     r = standard_app.request(
         "http://missing.test:1337/index.html#ignore";,
@@ -59,6 +61,7 @@ def test_untrusted_host(standard_app):
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_double_slash_path(standard_app):
     r = standard_app.request("//double-slash")
     assert "double-slash" not in r.json["HTTP_HOST"]
@@ -66,6 +69,7 @@ def test_double_slash_path(standard_app)
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_500_error(standard_app):
     r = standard_app.request("/crash")
     assert r.status == 500
@@ -73,6 +77,7 @@ def test_500_error(standard_app):
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_ssl_dev_cert(tmp_path, dev_server):
     client = dev_server(ssl_context=make_ssl_devcert(tmp_path))
     r = client.request()
@@ -80,6 +85,7 @@ def test_ssl_dev_cert(tmp_path, dev_serv
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_ssl_object(dev_server):
     client = dev_server(ssl_context="custom")
     r = client.request()
@@ -91,6 +97,7 @@ def test_ssl_object(dev_server):
 @pytest.mark.skipif(
     os.name == "nt" and "CI" in os.environ, reason="unreliable on Windows 
during CI"
 )
+@pytest.mark.dev_server
 def test_reloader_sys_path(tmp_path, dev_server, reloader_type):
     """This tests the general behavior of the reloader. It also tests
     that fixing an import error triggers a reload, not just Python
@@ -129,6 +136,7 @@ def test_exclude_patterns(find):
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_wrong_protocol(standard_app):
     """An HTTPS request to an HTTP server doesn't show a traceback.
     https://github.com/pallets/werkzeug/pull/838
@@ -142,6 +150,7 @@ def test_wrong_protocol(standard_app):
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_content_type_and_length(standard_app):
     r = standard_app.request()
     assert "CONTENT_TYPE" not in r.json
@@ -159,6 +168,7 @@ def test_port_is_int():
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
 @pytest.mark.parametrize("send_length", [False, True])
+@pytest.mark.dev_server
 def test_chunked_request(monkeypatch, dev_server, send_length):
     stream, length, boundary = stream_encode_multipart(
         {
@@ -200,6 +210,7 @@ def test_chunked_request(monkeypatch, de
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_multiple_headers_concatenated(standard_app):
     """A header key can be sent multiple times. The server will join all
     the values with commas.
@@ -224,6 +235,7 @@ def test_multiple_headers_concatenated(s
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_multiline_header_folding(standard_app):
     """A header value can be split over multiple lines with a leading
     tab. The server will remove the newlines and preserve the tabs.
@@ -242,6 +254,7 @@ def test_multiline_header_folding(standa
 
 
 @pytest.mark.parametrize("endpoint", ["", "crash"])
+@pytest.mark.dev_server
 def test_streaming_close_response(dev_server, endpoint):
     """When using HTTP/1.0, chunked encoding is not supported. Fall
     back to Connection: close, but this allows no reliable way to
@@ -252,6 +265,7 @@ def test_streaming_close_response(dev_se
     assert r.data == "".join(str(x) + "\n" for x in range(5)).encode()
 
 
+@pytest.mark.dev_server
 def test_streaming_chunked_response(dev_server):
     """When using HTTP/1.1, use Transfer-Encoding: chunked for streamed
     responses, since it can distinguish the end of the response without
@@ -265,6 +279,7 @@ def test_streaming_chunked_response(dev_
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")
+@pytest.mark.dev_server
 def test_streaming_chunked_truncation(dev_server):
     """When using HTTP/1.1, chunked encoding allows the client to detect
     content truncated by a prematurely closed connection.

++++++ moved_root.patch ++++++
---
 tests/test_serving.py |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

--- a/tests/test_serving.py
+++ b/tests/test_serving.py
@@ -10,6 +10,7 @@ from pathlib import Path
 
 import pytest
 
+import werkzeug
 from werkzeug import run_simple
 from werkzeug._reloader import _find_stat_paths
 from werkzeug._reloader import _find_watchdog_paths
@@ -127,12 +128,15 @@ def test_windows_get_args_for_reloading(
 
 @pytest.mark.parametrize("find", [_find_stat_paths, _find_watchdog_paths])
 def test_exclude_patterns(find):
-    # Imported paths under sys.prefix will be included by default.
+    # Don???t use sys.prefix, we may have redefined PYTHONPATH and
+    # libraries elsewhere.
+    cur_prefix = str(Path(werkzeug.__file__).parents[1])
+    # Imported paths under cur_prefix will be included by default.
     paths = find(set(), set())
-    assert any(p.startswith(sys.prefix) for p in paths)
+    assert any(p.startswith(cur_prefix) for p in paths)
     # Those paths should be excluded due to the pattern.
-    paths = find(set(), {f"{sys.prefix}*"})
-    assert not any(p.startswith(sys.prefix) for p in paths)
+    paths = find(set(), {f"{str(cur_prefix)}*"})
+    assert not any(p.startswith(cur_prefix) for p in paths)
 
 
 @pytest.mark.filterwarnings("ignore::pytest.PytestUnraisableExceptionWarning")

Reply via email to