me
/
guix
Archived
1
0
Fork 0

gnu: python-werkzeug: Reintroduce 1.0.1.

* gnu/packages/python-web.scm (python-werkzeug-1.0): New variable.
* gnu/packages/patches/python-werkzeug-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
master
Ludovic Courtès 2021-11-21 22:24:21 +01:00
parent b1fd953114
commit 248199863c
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 84 additions and 0 deletions

View File

@ -1672,6 +1672,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-python3-compat.patch \ %D%/packages/patches/python-unittest2-python3-compat.patch \
%D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/python-werkzeug-tests.patch \
%D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-CVE-2021-20203.patch \ %D%/packages/patches/qemu-CVE-2021-20203.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \

View File

@ -0,0 +1,58 @@
Do not leave open files behind as this triggers 'ResourceWarning' and leads
these tests to fail.
--- Werkzeug-1.0.1/tests/test_datastructures.py 2020-03-31 19:48:06.000000000 +0200
+++ Werkzeug-1.0.1/tests/test_datastructures.py 2021-11-21 18:19:11.304369878 +0100
@@ -1238,9 +1238,10 @@
def test_save_to_pathlib_dst(self, tmp_path):
src = tmp_path / "src.txt"
src.write_text(u"test")
- storage = self.storage_class(src.open("rb"))
- dst = tmp_path / "dst.txt"
- storage.save(dst)
+ with src.open("rb") as input:
+ storage = self.storage_class(input)
+ dst = tmp_path / "dst.txt"
+ storage.save(dst)
assert dst.read_text() == "test"
def test_save_to_bytes_io(self):
@@ -1251,11 +1252,12 @@
def test_save_to_file(self, tmp_path):
path = tmp_path / "file.data"
- storage = self.storage_class(io.BytesIO(b"one\ntwo"))
- with path.open("wb") as dst:
- storage.save(dst)
- with path.open("rb") as src:
- assert src.read() == b"one\ntwo"
+ with io.BytesIO(b"one\ntwo") as input:
+ storage = self.storage_class(input)
+ with path.open("wb") as dst:
+ storage.save(dst)
+ with path.open("rb") as src:
+ assert src.read() == b"one\ntwo"
@pytest.mark.parametrize("ranges", ([(0, 1), (-5, None)], [(5, None)]))
--- Werkzeug-1.0.1/tests/test_formparser.py 2020-03-31 19:48:06.000000000 +0200
+++ Werkzeug-1.0.1/tests/test_formparser.py 2021-11-21 22:11:43.654622751 +0100
@@ -27,7 +27,7 @@
from werkzeug.test import create_environ
from werkzeug.wrappers import Request
from werkzeug.wrappers import Response
-
+import warnings
@Request.application
def form_data_consumer(request):
@@ -242,6 +244,9 @@
class TestMultiPart(object):
def test_basic(self):
+ # Ignore leaked file descriptor of unknown origin.
+ warnings.filterwarnings(action="ignore", message="unclosed", category=ResourceWarning)
+
resources = join(dirname(__file__), "multipart")
client = Client(form_data_consumer, Response)

View File

@ -4088,6 +4088,31 @@ uploads, a powerful URL routing system and a bunch of community-contributed
addon modules.") addon modules.")
(license license:x11))) (license license:x11)))
(define-public python-werkzeug-1.0
(package
(inherit python-werkzeug)
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "Werkzeug" version))
(sha256
(base32
"0z74sa1xw5h20yin9faj0vvdbq713cgbj84klc72jr9nmpjv303c"))
(patches (search-patches "python-werkzeug-tests.patch"))))
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "-m" "pytest"))))))
(propagated-inputs
`(("python-requests" ,python-requests)))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-timeout" ,python-pytest-timeout)))))
(define-public python-bottle (define-public python-bottle
(package (package
(name "python-bottle") (name "python-bottle")