Source: python-httpretty
Version: 1.1.4-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ftbfs-20211220 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules build
> make: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> dh build --buildsystem=pybuild --with python3
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:237: python3.10 setup.py config
> running config
> I: pybuild base:237: python3.9 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:237: /usr/bin/python3.10 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> copying httpretty/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> copying httpretty/core.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> copying httpretty/errors.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> copying httpretty/http.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> copying httpretty/compat.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> copying httpretty/version.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> copying httpretty/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/httpretty
> I: pybuild base:237: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> copying httpretty/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> copying httpretty/core.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> copying httpretty/errors.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> copying httpretty/http.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> copying httpretty/compat.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> copying httpretty/version.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> copying httpretty/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build/httpretty
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:237: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build; python3.10 -m nose
> -v tests/unit
> HTTPrettyRequest is a BaseHTTPRequestHandler that replaces real socket file
> descriptors with in-memory ones ... ok
> HTTPrettyRequest#parse_querystring should parse unicode data ... ok
> HTTPrettyRequest#parse_request_body recognizes the content-type
> `application/json` and parses it ... ok
> HTTPrettyRequest#parse_request_body recognizes the content-type `text/json`
> and parses it ... ok
> HTTPrettyRequest#parse_request_body recognizes the content-type
> `application/x-www-form-urlencoded` and parses it ... ok
> HTTPrettyRequest#parse_request_body returns the value as is if the
> Content-Type is not recognized ... ok
> HTTPrettyRequest should have a forward_and_trace-friendly string
> representation ... ok
> FakeSSLSocket is a simpel wrapper around its own socket, which was designed
> to be a HTTPretty fake socket ... ok
> fakesock.socket#ssl should take a socket instance and return itself ... ok
> fakesock.socket#sendall handles paths starting with // well ... ok
> URIMatcher response querystring ... ok
> URIMatcher equality check should check querystring ... ok
> fakesock.socket#close should close the actual socket in case it's not http
> and __truesock_is_connected__ is True ... ok
> fakesock.socket#connect should open a real connection if the given port is
> not a potential http port ... ok
> fakesock.socket#makefile should set the mode, bufsize and return its mocked
> file descriptor ... ok
> fakesock.socket#real_sendall calls truesock#connect and bails out when not
> http ... ok
> fakesock.socket#real_sendall should continue if the socket error was EAGAIN
> ... ok
> fakesock.socket#real_sendall should continue if the socket error was EAGAIN
> ... ok
> fakesock.socket#real_sendall sends data and buffers the response in the file
> descriptor ... ok
> fakesock.socket#real_sendall should connect before sending data ... ok
> fakesock.socket#sendall should call real_sendall when not parsing headers and
> there is no entry ... ok
> fakesock.socket#sendall should call real_sendall when not ... ok
> fakesock.socket#sendall should call real_sendall when there is no entry ... ok
> fakesock.socket#sendall should create an entry if it's given a valid request
> line ... ok
> fakesock.socket#sendall should create an entry if it's given a valid request
> line ... ok
> parse_requestline should parse the CONNECT method appropriately ... ok
> HTTPretty.last_request is a dummy object by default ... ok
> HTTPretty supports N status codes ... ok
> tests.unit.test_httpretty.test_uri_info_full_url ... ok
> Test that URIInfo.__eq__ method ignores case for ... ok
> tests.unit.test_httpretty.test_global_boolean_enabled ... ok
> tests.unit.test_httpretty.test_py3kobject_implements_valid__repr__based_on__str__
> ... ok
> tests.unit.test_httpretty.test_Entry_class_normalizes_headers ... ok
> tests.unit.test_httpretty.test_Entry_class_counts_multibyte_characters_in_bytes
> ... ERROR
> tests.unit.test_httpretty.test_Entry_class_counts_dynamic ... ERROR
> tests.unit.test_httpretty.test_fake_socket_passes_through_setblocking ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_fileno ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_getsockopt ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_bind ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_connect_ex ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_listen ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_getpeername ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_getsockname ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_gettimeout ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_shutdown ... ok
> tests.unit.test_httpretty.test_unix_socket ... ok
> A content-type of application/json should parse a valid json body ... ok
> A content-type of application/json with an invalid json body should return
> the content unaltered ... ok
> A content-type of x-www-form-urlencoded with a valid queryparam body should
> return parsed content ... ok
> A non-handled content type request's post body should return the content
> unaltered ... ok
> Some versions of python accidentally internally shadowed the SockType ... ok
> tests.unit.test_httpretty.test_socktype_good_python_version ... ok
> HTTPretty.match_http_address should ignore case of hostname. ... ok
> HTTPretty should allow registering regexes with requests ... ok
> HTTPretty should allow registering regexes with requests (ssl version) ... ok
> httpretty.has_request() correctly detects whether or not a request has been
> made ... ok
> httpretty.last_request() should return httpretty.core.last_request ... ok
> httpretty.latest_requests() should return httpretty.core.latest_requests ...
> ok
>
> ======================================================================
> ERROR:
> tests.unit.test_httpretty.test_Entry_class_counts_multibyte_characters_in_bytes
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest
> self.test(*self.arg)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/tests/unit/test_httpretty.py",
> line 218, in test_Entry_class_counts_multibyte_characters_in_bytes
> expect(b'content-length: 15\n').to.be.within(response)
> File "/usr/lib/python3/dist-packages/sure/__init__.py", line 376, in wrapper
> value = func(self, *args, **kw)
> File "/usr/lib/python3/dist-packages/sure/__init__.py", line 593, in within
> collection_should = AssertionHelper(list(range(*args)))
> TypeError: 'bytes' object cannot be interpreted as an integer
>
> ======================================================================
> ERROR: tests.unit.test_httpretty.test_Entry_class_counts_dynamic
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest
> self.test(*self.arg)
> File
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build/tests/unit/test_httpretty.py",
> line 228, in test_Entry_class_counts_dynamic
> expect(b'content-length: 15\n').to.be.within(response)
> File "/usr/lib/python3/dist-packages/sure/__init__.py", line 376, in wrapper
> value = func(self, *args, **kw)
> File "/usr/lib/python3/dist-packages/sure/__init__.py", line 593, in within
> collection_should = AssertionHelper(list(range(*args)))
> TypeError: 'bytes' object cannot be interpreted as an integer
>
> ----------------------------------------------------------------------
> Ran 58 tests in 0.053s
>
> FAILED (errors=2)
> E: pybuild pybuild:355: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_httpretty/build; python3.10 -m nose
> -v tests/unit
> I: pybuild base:237: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_httpretty/build; python3.9 -m nose -v
> tests/unit
> HTTPrettyRequest is a BaseHTTPRequestHandler that replaces real socket file
> descriptors with in-memory ones ... ok
> HTTPrettyRequest#parse_querystring should parse unicode data ... ok
> HTTPrettyRequest#parse_request_body recognizes the content-type
> `application/json` and parses it ... ok
> HTTPrettyRequest#parse_request_body recognizes the content-type `text/json`
> and parses it ... ok
> HTTPrettyRequest#parse_request_body recognizes the content-type
> `application/x-www-form-urlencoded` and parses it ... ok
> HTTPrettyRequest#parse_request_body returns the value as is if the
> Content-Type is not recognized ... ok
> HTTPrettyRequest should have a forward_and_trace-friendly string
> representation ... ok
> FakeSSLSocket is a simpel wrapper around its own socket, which was designed
> to be a HTTPretty fake socket ... ok
> fakesock.socket#ssl should take a socket instance and return itself ... ok
> fakesock.socket#sendall handles paths starting with // well ... ok
> URIMatcher response querystring ... ok
> URIMatcher equality check should check querystring ... ok
> fakesock.socket#close should close the actual socket in case it's not http
> and __truesock_is_connected__ is True ... ok
> fakesock.socket#connect should open a real connection if the given port is
> not a potential http port ... ok
> fakesock.socket#makefile should set the mode, bufsize and return its mocked
> file descriptor ... ok
> fakesock.socket#real_sendall calls truesock#connect and bails out when not
> http ... ok
> fakesock.socket#real_sendall should continue if the socket error was EAGAIN
> ... ok
> fakesock.socket#real_sendall should continue if the socket error was EAGAIN
> ... ok
> fakesock.socket#real_sendall sends data and buffers the response in the file
> descriptor ... ok
> fakesock.socket#real_sendall should connect before sending data ... ok
> fakesock.socket#sendall should call real_sendall when not parsing headers and
> there is no entry ... ok
> fakesock.socket#sendall should call real_sendall when not ... ok
> fakesock.socket#sendall should call real_sendall when there is no entry ... ok
> fakesock.socket#sendall should create an entry if it's given a valid request
> line ... ok
> fakesock.socket#sendall should create an entry if it's given a valid request
> line ... ok
> parse_requestline should parse the CONNECT method appropriately ... ok
> HTTPretty.last_request is a dummy object by default ... ok
> HTTPretty supports N status codes ... ok
> tests.unit.test_httpretty.test_uri_info_full_url ... ok
> Test that URIInfo.__eq__ method ignores case for ... ok
> tests.unit.test_httpretty.test_global_boolean_enabled ... ok
> tests.unit.test_httpretty.test_py3kobject_implements_valid__repr__based_on__str__
> ... ok
> tests.unit.test_httpretty.test_Entry_class_normalizes_headers ... ok
> tests.unit.test_httpretty.test_Entry_class_counts_multibyte_characters_in_bytes
> ... ok
> tests.unit.test_httpretty.test_Entry_class_counts_dynamic ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_setblocking ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_fileno ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_getsockopt ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_bind ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_connect_ex ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_listen ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_getpeername ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_getsockname ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_gettimeout ... ok
> tests.unit.test_httpretty.test_fake_socket_passes_through_shutdown ... ok
> tests.unit.test_httpretty.test_unix_socket ... ok
> A content-type of application/json should parse a valid json body ... ok
> A content-type of application/json with an invalid json body should return
> the content unaltered ... ok
> A content-type of x-www-form-urlencoded with a valid queryparam body should
> return parsed content ... ok
> A non-handled content type request's post body should return the content
> unaltered ... ok
> Some versions of python accidentally internally shadowed the SockType ... ok
> tests.unit.test_httpretty.test_socktype_good_python_version ... ok
> HTTPretty.match_http_address should ignore case of hostname. ... ok
> HTTPretty should allow registering regexes with requests ... ok
> HTTPretty should allow registering regexes with requests (ssl version) ... ok
> httpretty.has_request() correctly detects whether or not a request has been
> made ... ok
> httpretty.last_request() should return httpretty.core.last_request ... ok
> httpretty.latest_requests() should return httpretty.core.latest_requests ...
> ok
>
> ----------------------------------------------------------------------
> Ran 58 tests in 0.052s
>
> OK
> dh_auto_test: error: pybuild --test --test-nose -i python{version} -p "3.10
> 3.9" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2021/12/20/python-httpretty_1.1.4-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!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.