Your message dated Sat, 14 Nov 2020 09:04:26 +0000
with message-id <e1kdrtu-0009ra...@fasolo.debian.org>
and subject line Bug#973134: fixed in python-webob 1:1.8.6-1.1
has caused the Debian Bug report #973134,
regarding python-webob: FTBFS: tests failed
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
973134: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973134
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: python-webob
Version: 1:1.8.6-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201027 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> # enable network, tests.test_in_wsgiref.test_request_reading needs it
> set -e ; for vers in `py3versions -vr` ; do \
>       http_proxy='' PYTHONPATH=.:/<<PKGBUILDDIR>>/src python$vers -m pytest 
> tests ; \
> done
> py3versions: no X-Python3-Version in control file, using supported versions
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.9.0+, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, inifile: setup.cfg
> collected 2388 items
> 
> tests/test_acceptparse.py .............................................. [  
> 1%]
> ........................................................................ [  
> 4%]
> ........................................................................ [  
> 7%]
> ........................................................................ [ 
> 10%]
> ........................................................................ [ 
> 13%]
> ........................................................................ [ 
> 17%]
> ........................................................................ [ 
> 20%]
> ........................................................................ [ 
> 23%]
> ........................................................................ [ 
> 26%]
> ........................................................................ [ 
> 29%]
> ........................................................................ [ 
> 32%]
> ........................................................................ [ 
> 35%]
> ........................................................................ [ 
> 38%]
> ........................................................................ [ 
> 41%]
> ........................................................................ [ 
> 44%]
> ........................................................................ [ 
> 47%]
> ........................................................................ [ 
> 50%]
> ........................................................                 [ 
> 52%]
> tests/test_byterange.py ...............                                  [ 
> 53%]
> tests/test_cachecontrol.py ...............................               [ 
> 54%]
> tests/test_client.py .............                                       [ 
> 54%]
> tests/test_client_functional.py FFFF                                     [ 
> 55%]
> tests/test_compat.py ...........                                         [ 
> 55%]
> tests/test_cookies.py .............................................s.s.s [ 
> 57%]
> ................................................                         [ 
> 59%]
> tests/test_cookies_bw.py .                                               [ 
> 59%]
> tests/test_datetime_utils.py ......                                      [ 
> 60%]
> tests/test_dec.py .........................                              [ 
> 61%]
> tests/test_descriptors.py .............................................. [ 
> 62%]
> ........................................................................ [ 
> 65%]
> .........                                                                [ 
> 66%]
> tests/test_etag.py ..........................                            [ 
> 67%]
> tests/test_etag_nose.py .......                                          [ 
> 67%]
> tests/test_exc.py ........................................               [ 
> 69%]
> tests/test_headers.py .................                                  [ 
> 70%]
> tests/test_in_wsgiref.py FF                                              [ 
> 70%]
> tests/test_misc.py ...s.........s.                                       [ 
> 70%]
> tests/test_multidict.py ................................................ [ 
> 72%]
> ........................................................................ [ 
> 75%]
>                                                                          [ 
> 75%]
> tests/test_request.py .................................................. [ 
> 77%]
> ........................................................................ [ 
> 80%]
> ........................................................................ [ 
> 84%]
> ...................................................................s.s.s [ 
> 87%]
> ..............................s......................................... [ 
> 90%]
> ...............................................                          [ 
> 92%]
> tests/test_response.py ................................................. [ 
> 94%]
> ........x............................................................... [ 
> 97%]
> .....................................                                    [ 
> 98%]
> tests/test_static.py ....................                                [ 
> 99%]
> tests/test_transcode.py ......                                           [ 
> 99%]
> tests/test_util.py .......                                               
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _________________________________ test_client 
> __________________________________
> 
> serve = <function serve.<locals>._serve at 0x7fbedacfa0d0>, client_app = None
> 
>     @pytest.mark.usefixtures("serve")
>     def test_client(serve, client_app=None):
>         with serve(simple_app) as server:
>             req = Request.blank(server.url, method='POST', 
> content_type='application/json',
>                                 json={'test': 1})
>             resp = req.send(client_app)
>             assert resp.status_code == 200, resp.status
>             assert resp.json['headers']['Content-Type'] == 'application/json'
>             assert resp.json['method'] == 'POST'
>             # Test that these values get filled in:
>             del req.environ['SERVER_NAME']
>             del req.environ['SERVER_PORT']
>             resp = req.send(client_app)
>             assert resp.status_code == 200, resp.status
>             req = Request.blank(server.url)
>             del req.environ['SERVER_NAME']
>             del req.environ['SERVER_PORT']
>             assert req.send(client_app).status_code == 200
>             req.headers['Host'] = server.url.lstrip('http://')
>             del req.environ['SERVER_NAME']
>             del req.environ['SERVER_PORT']
>             resp = req.send(client_app)
>             assert resp.status_code == 200, resp.status
>             del req.environ['SERVER_NAME']
>             del req.environ['SERVER_PORT']
>             del req.headers['Host']
>             assert req.environ.get('SERVER_NAME') is None
>             assert req.environ.get('SERVER_PORT') is None
>             assert req.environ.get('HTTP_HOST') is None
>             with pytest.raises(ValueError):
>                 req.send(client_app)
>             req = Request.blank(server.url)
>             req.environ['CONTENT_LENGTH'] = 'not a number'
> >           assert req.send(client_app).status_code == 200
> 
> tests/test_client_functional.py:51: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.9/contextlib.py:124: in __exit__
>     next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <wsgify at 140457700217664 wrapping <function simple_app at 
> 0x7fbedb32f8b0>>
> 
>     @contextmanager
>     def _serve(app):
>         server = _make_test_server(app)
>         try:
>             worker = threading.Thread(target=server.serve_forever)
>             worker.setDaemon(True)
>             worker.start()
>             server.url = "http://localhost:%d"; % server.server_port
>             log.debug("server started on %s", server.url)
>     
>             yield server
>         finally:
>             log.debug("shutting server down")
>             server.shutdown()
>             worker.join(1)
> >           if worker.isAlive():
> E           AttributeError: 'Thread' object has no attribute 'isAlive'
> 
> tests/conftest.py:63: AttributeError
> ____________________________ test_no_content_length 
> ____________________________
> 
> serve = <function serve.<locals>._serve at 0x7fbedacf0700>, client_app = None
> 
>     @pytest.mark.usefixtures("serve")
>     def test_no_content_length(serve, client_app=None):
>         with serve(no_length_app) as server:
>             req = Request.blank(server.url)
>             resp = req.send(client_app)
> >           assert resp.status_code == 200, resp.status
> 
> tests/test_client_functional.py:64: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.9/contextlib.py:124: in __exit__
>     next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <function no_length_app at 0x7fbedb334940>
> 
>     @contextmanager
>     def _serve(app):
>         server = _make_test_server(app)
>         try:
>             worker = threading.Thread(target=server.serve_forever)
>             worker.setDaemon(True)
>             worker.start()
>             server.url = "http://localhost:%d"; % server.server_port
>             log.debug("server started on %s", server.url)
>     
>             yield server
>         finally:
>             log.debug("shutting server down")
>             server.shutdown()
>             worker.join(1)
> >           if worker.isAlive():
> E           AttributeError: 'Thread' object has no attribute 'isAlive'
> 
> tests/conftest.py:63: AttributeError
> _____________________________ test_client_cookies 
> ______________________________
> 
> serve = <function serve.<locals>._serve at 0x7fbedacf0550>, client_app = None
> 
>     @pytest.mark.usefixtures("serve")
>     def test_client_cookies(serve, client_app=None):
>         with serve(cookie_app) as server:
>             req = Request.blank(server.url + '/?test')
>             resp = req.send(client_app)
>             assert resp.headers.getall('Set-Cookie') == ['a=b', 'c=d']
> >           assert resp.headers['X-Crazy'] == 'value, continuation', 
> > repr(resp.headers['X-Crazy'])
> 
> tests/test_client_functional.py:82: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.9/contextlib.py:124: in __exit__
>     next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <wsgify at 140457675600944 wrapping <function cookie_app at 
> 0x7fbedb334a60>>
> 
>     @contextmanager
>     def _serve(app):
>         server = _make_test_server(app)
>         try:
>             worker = threading.Thread(target=server.serve_forever)
>             worker.setDaemon(True)
>             worker.start()
>             server.url = "http://localhost:%d"; % server.server_port
>             log.debug("server started on %s", server.url)
>     
>             yield server
>         finally:
>             log.debug("shutting server down")
>             server.shutdown()
>             worker.join(1)
> >           if worker.isAlive():
> E           AttributeError: 'Thread' object has no attribute 'isAlive'
> 
> tests/conftest.py:63: AttributeError
> _______________________________ test_client_slow 
> _______________________________
> 
> serve = <function serve.<locals>._serve at 0x7fbedacf05e0>
> client_app = <webob.client.SendRequest object at 0x7fbedb4477c0>
> 
>     @pytest.mark.usefixtures("serve")
>     def test_client_slow(serve, client_app=None):
>         if client_app is None:
>             client_app = SendRequest()
>         if not client_app._timeout_supported(client_app.HTTPConnection):
>             # timeout isn't supported
>             return
>         with serve(slow_app) as server:
>             req = Request.blank(server.url)
>             req.environ['webob.client.timeout'] = 0.1
>             resp = req.send(client_app)
> >           assert resp.status_code == 504, resp.status
> 
> tests/test_client_functional.py:102: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.9/contextlib.py:124: in __exit__
>     next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <wsgify at 140457701719584 wrapping <function slow_app at 
> 0x7fbedb334b80>>
> 
>     @contextmanager
>     def _serve(app):
>         server = _make_test_server(app)
>         try:
>             worker = threading.Thread(target=server.serve_forever)
>             worker.setDaemon(True)
>             worker.start()
>             server.url = "http://localhost:%d"; % server.server_port
>             log.debug("server started on %s", server.url)
>     
>             yield server
>         finally:
>             log.debug("shutting server down")
>             server.shutdown()
>             worker.join(1)
> >           if worker.isAlive():
> E           AttributeError: 'Thread' object has no attribute 'isAlive'
> 
> tests/conftest.py:63: AttributeError
> _____________________________ test_request_reading 
> _____________________________
> 
> serve = <function serve.<locals>._serve at 0x7fbedacf0af0>
> 
>     @pytest.mark.usefixtures("serve")
>     def test_request_reading(serve):
>         """
>             Test actual request/response cycle in the presence of 
> Request.copy()
>             and other methods that can potentially hang.
>         """
>         with serve(_test_app_req_reading) as server:
>             for key in _test_ops_req_read:
>                 resp = url_open(server.url + key, timeout=3)
> >               assert resp.read() == b"ok"
> 
> tests/test_in_wsgiref.py:27: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.9/contextlib.py:124: in __exit__
>     next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <function _test_app_req_reading at 0x7fbed9e18dc0>
> 
>     @contextmanager
>     def _serve(app):
>         server = _make_test_server(app)
>         try:
>             worker = threading.Thread(target=server.serve_forever)
>             worker.setDaemon(True)
>             worker.start()
>             server.url = "http://localhost:%d"; % server.server_port
>             log.debug("server started on %s", server.url)
>     
>             yield server
>         finally:
>             log.debug("shutting server down")
>             server.shutdown()
>             worker.join(1)
> >           if worker.isAlive():
> E           AttributeError: 'Thread' object has no attribute 'isAlive'
> 
> tests/conftest.py:63: AttributeError
> ___________________________ test_interrupted_request 
> ___________________________
> 
> serve = <function serve.<locals>._serve at 0x7fbedacf0dc0>
> 
>     @pytest.mark.usefixtures("serve")
>     def test_interrupted_request(serve):
>         with serve(_test_app_req_interrupt) as server:
>             for path in _test_ops_req_interrupt:
>                 _send_interrupted_req(server, path)
>                 try:
>                     res = _global_res.get(timeout=1)
>                 except Empty:
>                     raise AssertionError("Error during test %s", path)
>                 if res is not None:
>                     print("Error during test:", path)
> >                   reraise(res)
> 
> tests/test_in_wsgiref.py:57: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.9/contextlib.py:124: in __exit__
>     next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> app = <function _test_app_req_interrupt at 0x7fbeda5d3160>
> 
>     @contextmanager
>     def _serve(app):
>         server = _make_test_server(app)
>         try:
>             worker = threading.Thread(target=server.serve_forever)
>             worker.setDaemon(True)
>             worker.start()
>             server.url = "http://localhost:%d"; % server.server_port
>             log.debug("server started on %s", server.url)
>     
>             yield server
>         finally:
>             log.debug("shutting server down")
>             server.shutdown()
>             worker.join(1)
> >           if worker.isAlive():
> E           AttributeError: 'Thread' object has no attribute 'isAlive'
> 
> tests/conftest.py:63: AttributeError
> =============================== warnings summary 
> ===============================
> tests/test_request.py::TestRequest_functional::test_request_put
>   /<<PKGBUILDDIR>>/src/webob/acceptparse.py:1262: DeprecationWarning: The 
> behavior of .__contains__ for the Accept classes is currently being 
> maintained for backward compatibility, but it will change in the future to 
> better conform to the RFC.
>     warnings.warn(
> 
> tests/test_request.py::TestRequest_functional::test_request_put
>   /<<PKGBUILDDIR>>/src/webob/acceptparse.py:645: DeprecationWarning: The 
> behavior of AcceptValidHeader.__contains__ is currently being maintained for 
> backward compatibility, but it will change in the future to better conform to 
> the RFC.
>     warnings.warn(
> 
> tests/test_response.py::test_set_cookie_expires_is_datetime_and_max_age_is_None
> tests/test_response.py::test_set_cookie_expires_is_timedelta_and_max_age_is_None
> tests/test_response.py::test_set_cookie_expires_is_datetime_tz_and_max_age_is_None
>   /<<PKGBUILDDIR>>/src/webob/response.py:1037: DeprecationWarning: Argument 
> "expires" will be removed in a future version of WebOb, please use "max_age".
>     warn_deprecation('Argument "expires" will be removed in a future '
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> === 6 failed, 2372 passed, 9 skipped, 1 xfailed, 5 warnings in 11.43 seconds 
> ===
> make[1]: *** [debian/rules:12: override_dh_auto_test] Error 1

The full build log is available from:
   http://qa-logs.debian.net/2020/10/27/python-webob_1.8.6-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

--- End Message ---
--- Begin Message ---
Source: python-webob
Source-Version: 1:1.8.6-1.1
Done: Matthias Klose <d...@debian.org>

We believe that the bug you reported is fixed in the latest version of
python-webob, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 973...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <d...@debian.org> (supplier of updated python-webob package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 13 Nov 2020 09:29:42 +0100
Source: python-webob
Architecture: source
Version: 1:1.8.6-1.1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Modules Team 
<python-modules-t...@lists.alioth.debian.org>
Changed-By: Matthias Klose <d...@debian.org>
Closes: 973134
Changes:
 python-webob (1:1.8.6-1.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Fix test for Python 3.9, taken from upstream. Closes: #973134.
   * Fix local link for intersphinx.
Checksums-Sha1:
 9aaeb47df00251ce4fb136e92e2f7a91dc707b81 2223 python-webob_1.8.6-1.1.dsc
 0decf7eab78a7953a842a0681913e3ee9f87a524 5960 
python-webob_1.8.6-1.1.debian.tar.xz
 da80eaffb287973d784c052fa18e3354291e8112 7984 
python-webob_1.8.6-1.1_source.buildinfo
Checksums-Sha256:
 bd3820a9aedfe52cd7cbce9688b18addaf48520656dd7312ff3a5f708fa634f3 2223 
python-webob_1.8.6-1.1.dsc
 7dbad6a49d980fbf9fc44af99500ab7d5745417f8d3296bd462201f1296f21d7 5960 
python-webob_1.8.6-1.1.debian.tar.xz
 4606c5a058271d8438ec9a65071141b0ca40a89f2a0646c6adec8ab9e8d9f2e8 7984 
python-webob_1.8.6-1.1_source.buildinfo
Files:
 2d2cd4aa745fd1be3064e867804e0a09 2223 python optional 
python-webob_1.8.6-1.1.dsc
 ed34e60e0564acccec151da1764e46c9 5960 python optional 
python-webob_1.8.6-1.1.debian.tar.xz
 09a52f579fab740da9573e31a98758be 7984 python optional 
python-webob_1.8.6-1.1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEE1WVxuIqLuvFAv2PWvX6qYHePpvUFAl+uRgQQHGRva29AZGVi
aWFuLm9yZwAKCRC9fqpgd4+m9a13D/9fNHaSJod7GNuFogVuXOIMNV74/sxcxor7
5lLu/68Un0DXN6OqciEBFC03P1/ocusMyNRvx0eyP5oKF2RRDQUGEwHC3PAgzY6F
XC1vmupIC+fh+ddBBqG32pUgjAhNrMMtu31fqsvPAmmRuFuv8muWh1r3ylqwMayG
X/cfrSHKwhSqGfw/EFDkXPl9AXFtnzI8jo6Puj6xhc46k80qjYCNEeBhft7Mrz5b
B+KZ9iNM8TCUBvjhvv2HZL82eTbXr+dKchqUlttRYU+N8u1D16DPzvAGX872snH9
lOMNniPZr301ap3EgE0Py3xQpLYjgNsNaJENJ7+uzmtVD9z8AvkIZULH++Y0Z89p
JQfp1a4LMIndGgv2OPv83g34s+5Y7DWz01cuL0wNZ25fKg/poIZHNB+RI8sPlybl
prIMPU5Y9JTCyr4WGeAPCK3sk9L3m3y/x5hOQ3Wn7Qx6hv9QikKVGhq7vPxneolP
NBVMnFh4oxUXDYCmfbClePXPOd5zlvI4736BAwBNulv70b2rbqzOV8/vUUStxr6a
7DHGXjCcc5tHSnN1Ra33joIuCJOj6PQ+rh0PzHEaM3miQur+YmAOQG6RqKxkMUFB
1LN1pj1qmRq/QZZN0vmsSxM71Gz1DeNNvoCsWLTXCruOiGWaV8VnPH1LJIP+fkwc
ag3NodhCsQ==
=ENO3
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to