Your message dated Wed, 07 Aug 2024 00:22:49 +0000
with message-id <e1sbus1-008zv1...@fasolo.debian.org>
and subject line Bug#1073421: fixed in smart-open 7.0.4-1
has caused the Debian Bug report #1073421,
regarding smart-open: FTBFS: dh_auto_test: error: pybuild --test --test-pytest 
-i python{version} -p "3.12 3.11" returned exit code 13
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.)


-- 
1073421: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1073421
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: smart-open
Version: 5.2.1-6
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240615 ftbfs-trixie

Hi,

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


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> rm -f smart_open/gcs.py
> rm -f smart_open/tests/test_gcs.py
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:311: python3.12 setup.py config 
> running config
> I: pybuild base:311: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:311: /usr/bin/python3.12 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/utils.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/transport.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/bytebuffer.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/version.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/s3.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/local_file.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/smart_open_lib.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/webhdfs.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/constants.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/doctools.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/concurrency.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/azure.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/compression.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/ssh.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/hdfs.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> copying smart_open/http.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> I: pybuild base:311: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/utils.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/transport.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/bytebuffer.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/version.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/s3.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/local_file.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/smart_open_lib.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/webhdfs.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/constants.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/doctools.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/concurrency.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/azure.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/compression.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/ssh.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/hdfs.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> copying smart_open/http.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild pybuild:308: cp -a smart_open/tests 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open
> I: pybuild base:311: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build; python3.12 -m 
> pytest smart_open/tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: tox.ini
> collected 306 items
> 
> smart_open/tests/test_azure.py .......................................   [ 
> 12%]
> smart_open/tests/test_bytebuffer.py ...............                      [ 
> 17%]
> smart_open/tests/test_hdfs.py ........                                   [ 
> 20%]
> smart_open/tests/test_http.py ..F...FFF...                               [ 
> 24%]
> smart_open/tests/test_package.py sss                                     [ 
> 25%]
> smart_open/tests/test_s3.py s..sssssssssssssssssssssssssssssssssssssssss [ 
> 39%]
> sssssssssssss..sss                                                       [ 
> 45%]
> smart_open/tests/test_s3_version.py sssssss                              [ 
> 47%]
> smart_open/tests/test_smart_open.py .................................... [ 
> 59%]
> ...................................ssssssssssssssss....sssss............ [ 
> 83%]
> .s.s.ss.......sssss..ss.ssss..                                           [ 
> 92%]
> smart_open/tests/test_ssh.py .....                                       [ 
> 94%]
> smart_open/tests/test_transport.py ...                                   [ 
> 95%]
> smart_open/tests/test_utils.py ..............                            
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _______________________ HttpTest.test_https_seek_forward 
> _______________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(58 
> bytes read, 10 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b" hard and got so far but in the end it doesn't even 
> matter"
>         decode_content = True
>         decoded_data = b" hard and got so far but in the end it doesn't even 
> matter"
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> /usr/lib/python3.12/contextlib.py:158: in __exit__
>     self.gen.throw(value)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7f83bb2fd640>
>         traceback  = <traceback object at 0x7f83bae6a200>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(58 bytes read, 10 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 bytes 
> read, 10 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fd030>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest 
> testMethod=test_https_seek_forward>
> 
>     @responses.activate
>     def test_https_seek_forward(self):
>         """Did the seek forward over HTTPS work?"""
>         responses.add_callback(responses.GET, HTTPS_URL, 
> callback=request_callback)
>     
>         with smart_open.open(HTTPS_URL, "rb") as fin:
>             fin.seek(10)
> >           read_bytes = fin.read(size=10)
> 
> fin        = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb2fd210>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_https_seek_forward>
> 
> smart_open/tests/test_http.py:142: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb2fd210>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7f83bb2fca40>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7f83bae20900>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 
> bytes read, 10 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> _______________________ HttpTest.test_seek_from_current 
> ________________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(58 
> bytes read, 10 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b" hard and got so far but in the end it doesn't even 
> matter"
>         decode_content = True
>         decoded_data = b" hard and got so far but in the end it doesn't even 
> matter"
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> /usr/lib/python3.12/contextlib.py:158: in __exit__
>     self.gen.throw(value)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7f83bb2ffe90>
>         traceback  = <traceback object at 0x7f83baf46680>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(58 bytes read, 10 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 bytes 
> read, 10 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2fded0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest testMethod=test_seek_from_current>
> 
>     @responses.activate
>     def test_seek_from_current(self):
>         responses.add_callback(responses.GET, URL, callback=request_callback)
>         reader = smart_open.http.SeekableBufferedInputBase(URL)
>     
>         reader.seek(10)
> >       read_bytes = reader.read(size=10)
> 
> reader     = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb2ff100>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_seek_from_current>
> 
> smart_open/tests/test_http.py:79: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb2ff100>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7f83bb2ff4d0>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7f83bae219a0>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 
> bytes read, 10 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> _________________________ HttpTest.test_seek_from_end 
> __________________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(10 
> bytes read, 58 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b'ven matter'
>         decode_content = True
>         decoded_data = b'ven matter'
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> /usr/lib/python3.12/contextlib.py:158: in __exit__
>     self.gen.throw(value)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7f83bb2ffdd0>
>         traceback  = <traceback object at 0x7f83baf0b580>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(10 bytes read, 58 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(10 bytes read, 58 more expected)', IncompleteRead(10 bytes 
> read, 58 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb288fa0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest testMethod=test_seek_from_end>
> 
>     @responses.activate
>     def test_seek_from_end(self):
>         responses.add_callback(responses.GET, URL, callback=request_callback)
>         reader = smart_open.http.SeekableBufferedInputBase(URL)
>     
>         reader.seek(-10, whence=smart_open.constants.WHENCE_END)
>         self.assertEqual(reader.tell(), len(BYTES) - 10)
> >       read_bytes = reader.read(size=10)
> 
> reader     = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb2ff880>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_seek_from_end>
> 
> smart_open/tests/test_http.py:96: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb2ff880>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7f83bb2ffbc0>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7f83bae20660>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(10 bytes read, 58 more expected)', IncompleteRead(10 
> bytes read, 58 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> ________________________ HttpTest.test_seek_from_start 
> _________________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(58 
> bytes read, 10 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b" hard and got so far but in the end it doesn't even 
> matter"
>         decode_content = True
>         decoded_data = b" hard and got so far but in the end it doesn't even 
> matter"
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> /usr/lib/python3.12/contextlib.py:158: in __exit__
>     self.gen.throw(value)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7f83bb28b6b0>
>         traceback  = <traceback object at 0x7f83bad17180>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(58 bytes read, 10 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 bytes 
> read, 10 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7f83bb2888b0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest testMethod=test_seek_from_start>
> 
>     @responses.activate
>     def test_seek_from_start(self):
>         responses.add_callback(responses.GET, URL, callback=request_callback)
>         reader = smart_open.http.SeekableBufferedInputBase(URL)
>     
>         reader.seek(10)
>         self.assertEqual(reader.tell(), 10)
> >       read_bytes = reader.read(size=10)
> 
> reader     = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb28ba30>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_seek_from_start>
> 
> smart_open/tests/test_http.py:61: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7f83bb28ba30>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7f83bb28bad0>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7f83bae21d20>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 
> bytes read, 10 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> =============================== warnings summary 
> ===============================
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_http.py: 1 
> warning
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_smart_open.py: 
> 10 warnings
>   /usr/lib/python3/dist-packages/responses/__init__.py:609: 
> DeprecationWarning: stream argument is deprecated. Use stream parameter in 
> request directly
>     warn(
> 
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build/smart_open/smart_open_lib.py:494:
>  DeprecationWarning: This function is deprecated.  See 
> https://github.com/RaRe-Technologies/smart_open/blob/develop/MIGRATING_FROM_OLDER_VERSIONS.rst
>  for more information
>     warnings.warn(message, category=DeprecationWarning)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> ============================= slowest 20 durations 
> =============================
> 0.65s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_unzip
> 0.63s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_hdfs.py::CliRawOutputBaseTest::test_zip
> 0.61s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_context_manager
> 0.59s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_read
> 0.55s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_hdfs.py::CliRawOutputBaseTest::test_write
> 0.53s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_read_75
> 0.07s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_ssh.py::SSHOpen::test_open
> 0.05s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenHttpTest::test_http_bz2
> 0.05s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenHttpTest::test_http_bz2_query
> 0.01s call     
> .pybuild/cpython3_3.12_smart-open/build/smart_open/tests/test_azure.py::WriterTest::test_write_03a
> 
> (10 durations < 0.005s hidden.  Use -vv to show these durations.)
> =========================== short test summary info 
> ============================
> FAILED smart_open/tests/test_http.py::HttpTest::test_https_seek_forward - 
> req...
> FAILED smart_open/tests/test_http.py::HttpTest::test_seek_from_current - 
> requ...
> FAILED smart_open/tests/test_http.py::HttpTest::test_seek_from_end - 
> requests...
> FAILED smart_open/tests/test_http.py::HttpTest::test_seek_from_start - 
> reques...
> SKIPPED [1] smart_open/tests/test_package.py:18: requires missing dependencies
> SKIPPED [1] smart_open/tests/test_package.py:13: requires missing dependencies
> SKIPPED [1] smart_open/tests/test_package.py:24: requires missing dependencies
> SKIPPED [1] smart_open/tests/test_s3.py:140: The test case needs a Moto 
> server running on the local 5000 port.
> SKIPPED [1] smart_open/tests/test_s3.py:418: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:426: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:325: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:228: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:240: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:249: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:395: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:441: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:339: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:368: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:384: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:261: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:291: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:305: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:316: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:279: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:406: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:541: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:569: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:576: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:529: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:558: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:564: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:583: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:463: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:476: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:486: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:495: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:517: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:593: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:664: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:687: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:694: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:681: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:619: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:632: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:642: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:653: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:701: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:749: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:737: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:727: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:760: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:769: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:800: For Debian skip this test
> SKIPPED [1] smart_open/tests/test_s3.py:831: For Debian skip this test
> SKIPPED [1] smart_open/tests/test_s3.py:857: For Debian skip 
> IterBucketSingleProcessTest
> SKIPPED [1] smart_open/tests/test_s3.py:874: For Debian skip 
> IterBucketCredentialsTest
> SKIPPED [1] smart_open/tests/test_s3.py:897: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:904: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:922: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:913: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:932: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:949: For Debian skip OpenTest
> SKIPPED [3] 
> ../../../../../../usr/lib/python3/dist-packages/_pytest/unittest.py:378: For 
> Debian skip this test
> SKIPPED [1] smart_open/tests/test_s3_version.py:62: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:68: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:55: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:80: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:74: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:87: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:94: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_smart_open.py:721: For Debian skip 
> test_read_never_returns_none
> SKIPPED [1] smart_open/tests/test_smart_open.py:832: Skipping 
> test_read_newline_binary
> SKIPPED [1] smart_open/tests/test_smart_open.py:774: Skipping 
> test_read_newline_cr
> SKIPPED [1] smart_open/tests/test_smart_open.py:804: Skipping 
> test_read_newline_crlf
> SKIPPED [1] smart_open/tests/test_smart_open.py:758: Skipping 
> test_read_newline_empty
> SKIPPED [1] smart_open/tests/test_smart_open.py:789: Skipping 
> test_read_newline_lf
> SKIPPED [1] smart_open/tests/test_smart_open.py:737: Skipping 
> test_read_newline_none
> SKIPPED [1] smart_open/tests/test_smart_open.py:818: Skipping 
> test_read_newline_slurp
> SKIPPED [1] smart_open/tests/test_smart_open.py:923: For Debian skip 
> test_readline
> SKIPPED [1] smart_open/tests/test_smart_open.py:953: For Debian skip 
> test_readline_eof
> SKIPPED [1] smart_open/tests/test_smart_open.py:936: For Debian skip 
> test_readline_iter
> SKIPPED [1] smart_open/tests/test_smart_open.py:969: For Debian skip 
> test_s3_iter_lines
> SKIPPED [1] smart_open/tests/test_smart_open.py:1094: For Debian skip 
> test_s3_iter_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1127: For Debian skip 
> test_s3_read_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1145: For Debian skip 
> test_s3_seek_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1167: For Debian skip 
> test_s3_tell
> SKIPPED [1] smart_open/tests/test_smart_open.py:895: Skipping 
> test_write_newline_cr
> SKIPPED [1] smart_open/tests/test_smart_open.py:909: Skipping 
> test_write_newline_crlf
> SKIPPED [1] smart_open/tests/test_smart_open.py:867: Skipping 
> test_write_newline_empty
> SKIPPED [1] smart_open/tests/test_smart_open.py:881: Skipping 
> test_write_newline_lf
> SKIPPED [1] smart_open/tests/test_smart_open.py:847: Skipping 
> test_write_newline_none
> SKIPPED [1] smart_open/tests/test_smart_open.py:1381: For Debian skip 
> test_s3_metadata_write
> SKIPPED [1] smart_open/tests/test_smart_open.py:1361: For Debian skip 
> test_s3_modes_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1426: For Debian skip 
> test_write_bad_encoding_replace
> SKIPPED [1] smart_open/tests/test_smart_open.py:1415: For Debian skip 
> test_write_bad_encoding_strict
> SKIPPED [1] smart_open/tests/test_smart_open.py:1688: For Debian skip 
> test_gzip_read_mode
> SKIPPED [1] smart_open/tests/test_smart_open.py:1676: For Debian skip 
> test_gzip_write_mode
> SKIPPED [1] smart_open/tests/test_smart_open.py:1604: For Debian skip test_r
> SKIPPED [1] smart_open/tests/test_smart_open.py:1705: For Debian skip 
> test_read_encoding
> SKIPPED [1] smart_open/tests/test_smart_open.py:1719: For Debian skip 
> test_read_encoding_implicit_text
> SKIPPED [1] smart_open/tests/test_smart_open.py:1626: For Debian skip 
> test_rw_encoding
> SKIPPED [1] smart_open/tests/test_smart_open.py:1651: For Debian skip 
> test_rw_gzip
> SKIPPED [1] smart_open/tests/test_smart_open.py:1761: For Debian skip 
> test_write_bad_encoding_replace
> SKIPPED [1] smart_open/tests/test_smart_open.py:1748: For Debian skip 
> test_write_bad_encoding_strict
> SKIPPED [1] smart_open/tests/test_smart_open.py:1733: For Debian skip 
> test_write_encoding
> SKIPPED [1] smart_open/tests/test_smart_open.py:1777: For Debian skip 
> test_write_text_gzip
> =========== 4 failed, 198 passed, 104 skipped, 15 warnings in 5.06s 
> ============
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_smart-open/build; python3.12 -m 
> pytest smart_open/tests
> I: pybuild pybuild:308: cp -a smart_open/tests 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open
> I: pybuild base:311: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build; python3.11 -m 
> pytest smart_open/tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: tox.ini
> collected 306 items
> 
> smart_open/tests/test_azure.py .......................................   [ 
> 12%]
> smart_open/tests/test_bytebuffer.py ...............                      [ 
> 17%]
> smart_open/tests/test_hdfs.py ........                                   [ 
> 20%]
> smart_open/tests/test_http.py ..F...FFF...                               [ 
> 24%]
> smart_open/tests/test_package.py sss                                     [ 
> 25%]
> smart_open/tests/test_s3.py s..sssssssssssssssssssssssssssssssssssssssss [ 
> 39%]
> sssssssssssss..sss                                                       [ 
> 45%]
> smart_open/tests/test_s3_version.py sssssss                              [ 
> 47%]
> smart_open/tests/test_smart_open.py .................................... [ 
> 59%]
> ...................................ssssssssssssssss....sssss............ [ 
> 83%]
> .s.s.ss.......sssss..ss.ssss..                                           [ 
> 92%]
> smart_open/tests/test_ssh.py .....                                       [ 
> 94%]
> smart_open/tests/test_transport.py ...                                   [ 
> 95%]
> smart_open/tests/test_utils.py ..............                            
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _______________________ HttpTest.test_https_seek_forward 
> _______________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(58 
> bytes read, 10 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b" hard and got so far but in the end it doesn't even 
> matter"
>         decode_content = True
>         decoded_data = b" hard and got so far but in the end it doesn't even 
> matter"
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> /usr/lib/python3.11/contextlib.py:158: in __exit__
>     self.gen.throw(typ, value, traceback)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7fe8ea1d1a10>
>         traceback  = <traceback object at 0x7fe8ea253400>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(58 bytes read, 10 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 bytes 
> read, 10 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5f8790>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest 
> testMethod=test_https_seek_forward>
> 
>     @responses.activate
>     def test_https_seek_forward(self):
>         """Did the seek forward over HTTPS work?"""
>         responses.add_callback(responses.GET, HTTPS_URL, 
> callback=request_callback)
>     
>         with smart_open.open(HTTPS_URL, "rb") as fin:
>             fin.seek(10)
> >           read_bytes = fin.read(size=10)
> 
> fin        = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea5f90f0>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_https_seek_forward>
> 
> smart_open/tests/test_http.py:142: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea5f90f0>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7fe8ea252c50>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7fe8ea4ef100>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 
> bytes read, 10 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> _______________________ HttpTest.test_seek_from_current 
> ________________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(58 
> bytes read, 10 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b" hard and got so far but in the end it doesn't even 
> matter"
>         decode_content = True
>         decoded_data = b" hard and got so far but in the end it doesn't even 
> matter"
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> /usr/lib/python3.11/contextlib.py:158: in __exit__
>     self.gen.throw(typ, value, traceback)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7fe8e9ece550>
>         traceback  = <traceback object at 0x7fe8ea146a00>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(58 bytes read, 10 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 bytes 
> read, 10 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea28ece0>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest testMethod=test_seek_from_current>
> 
>     @responses.activate
>     def test_seek_from_current(self):
>         responses.add_callback(responses.GET, URL, callback=request_callback)
>         reader = smart_open.http.SeekableBufferedInputBase(URL)
>     
>         reader.seek(10)
> >       read_bytes = reader.read(size=10)
> 
> reader     = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea28e0e0>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_seek_from_current>
> 
> smart_open/tests/test_http.py:79: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea28e0e0>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7fe8ea146650>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7fe8e9f58130>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 
> bytes read, 10 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> _________________________ HttpTest.test_seek_from_end 
> __________________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(10 
> bytes read, 58 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b'ven matter'
>         decode_content = True
>         decoded_data = b'ven matter'
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> /usr/lib/python3.11/contextlib.py:158: in __exit__
>     self.gen.throw(typ, value, traceback)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7fe8ea1b2d10>
>         traceback  = <traceback object at 0x7fe8ea1b2900>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(10 bytes read, 58 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(10 bytes read, 58 more expected)', IncompleteRead(10 bytes 
> read, 58 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5fcd30>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest testMethod=test_seek_from_end>
> 
>     @responses.activate
>     def test_seek_from_end(self):
>         responses.add_callback(responses.GET, URL, callback=request_callback)
>         reader = smart_open.http.SeekableBufferedInputBase(URL)
>     
>         reader.seek(-10, whence=smart_open.constants.WHENCE_END)
>         self.assertEqual(reader.tell(), len(BYTES) - 10)
> >       read_bytes = reader.read(size=10)
> 
> reader     = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea5fc250>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_seek_from_end>
> 
> smart_open/tests/test_http.py:96: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea5fc250>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7fe8ea1b2c50>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7fe8e9f58f40>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(10 bytes read, 58 more expected)', IncompleteRead(10 
> bytes read, 58 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> ________________________ HttpTest.test_seek_from_start 
> _________________________
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
> >               yield
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:710: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>, amt = 131072
> 
>     def _raw_read(
>         self,
>         amt: int | None = None,
>     ) -> bytes:
>         """
>         Reads `amt` of bytes from the socket.
>         """
>         if self._fp is None:
>             return None  # type: ignore[return-value]
>     
>         fp_closed = getattr(self._fp, "closed", False)
>     
>         with self._error_catcher():
>             data = self._fp_read(amt) if not fp_closed else b""
>             if amt is not None and amt != 0 and not data:
>                 # Platform-specific: Buggy versions of Python.
>                 # Close the connection when no data is returned
>                 #
>                 # This is redundant to what httplib/http.client _should_
>                 # already do.  However, versions of python released before
>                 # December 15, 2012 (http://bugs.python.org/issue16298) do
>                 # not properly close the connection in all cases. There is
>                 # no harm in redundantly calling close.
>                 self._fp.close()
>                 if (
>                     self.enforce_content_length
>                     and self.length_remaining is not None
>                     and self.length_remaining != 0
>                 ):
>                     # This is an edge case that httplib failed to cover due
>                     # to concerns of backward compatibility. We're
>                     # addressing it here to make sure IncompleteRead is
>                     # raised during streaming, so all calls with incorrect
>                     # Content-Length are caught.
> >                   raise IncompleteRead(self._fp_bytes_read, 
> > self.length_remaining)
> E                   urllib3.exceptions.IncompleteRead: IncompleteRead(58 
> bytes read, 10 more expected)
> 
> amt        = 131072
> data       = b''
> fp_closed  = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:835: IncompleteRead
> 
> The above exception was the direct cause of the following exception:
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
> >               yield from self.raw.stream(chunk_size, decode_content=True)
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:820: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/urllib3/response.py:936: in stream
>     data = self.read(amt=amt, decode_content=decode_content)
>         amt        = 131072
>         decode_content = True
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> /usr/lib/python3/dist-packages/urllib3/response.py:907: in read
>     data = self._raw_read(amt)
>         amt        = 131072
>         cache_content = False
>         data       = b" hard and got so far but in the end it doesn't even 
> matter"
>         decode_content = True
>         decoded_data = b" hard and got so far but in the end it doesn't even 
> matter"
>         flush_decoder = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> /usr/lib/python3/dist-packages/urllib3/response.py:813: in _raw_read
>     with self._error_catcher():
>         amt        = 131072
>         data       = b''
>         fp_closed  = False
>         self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> /usr/lib/python3.11/contextlib.py:158: in __exit__
>     self.gen.throw(typ, value, traceback)
>         self       = <contextlib._GeneratorContextManager object at 
> 0x7fe8ea582690>
>         traceback  = <traceback object at 0x7fe8ea5817c0>
>         typ        = <class 'urllib3.exceptions.IncompleteRead'>
>         value      = IncompleteRead(58 bytes read, 10 more expected)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> 
>     @contextmanager
>     def _error_catcher(self) -> typing.Generator[None, None, None]:
>         """
>         Catch low-level python exceptions, instead re-raising urllib3
>         variants, so that low-level exceptions are not leaked in the
>         high-level api.
>     
>         On exit, release the connection back to the pool.
>         """
>         clean_exit = False
>     
>         try:
>             try:
>                 yield
>     
>             except SocketTimeout as e:
>                 # FIXME: Ideally we'd like to include the url in the 
> ReadTimeoutError but
>                 # there is yet no clean way to get at it from this context.
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except BaseSSLError as e:
>                 # FIXME: Is there a better way to differentiate between 
> SSLErrors?
>                 if "read operation timed out" not in str(e):
>                     # SSL errors related to framing/MAC get wrapped and 
> reraised here
>                     raise SSLError(e) from e
>     
>                 raise ReadTimeoutError(self._pool, None, "Read timed out.") 
> from e  # type: ignore[arg-type]
>     
>             except (HTTPException, OSError) as e:
>                 # This includes IncompleteRead.
> >               raise ProtocolError(f"Connection broken: {e!r}", e) from e
> E               urllib3.exceptions.ProtocolError: ('Connection broken: 
> IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 bytes 
> read, 10 more expected))
> 
> clean_exit = False
> self       = <urllib3.response.HTTPResponse object at 0x7fe8ea5e8820>
> 
> /usr/lib/python3/dist-packages/urllib3/response.py:727: ProtocolError
> 
> During handling of the above exception, another exception occurred:
> 
> self = <smart_open.tests.test_http.HttpTest testMethod=test_seek_from_start>
> 
>     @responses.activate
>     def test_seek_from_start(self):
>         responses.add_callback(responses.GET, URL, callback=request_callback)
>         reader = smart_open.http.SeekableBufferedInputBase(URL)
>     
>         reader.seek(10)
>         self.assertEqual(reader.tell(), 10)
> >       read_bytes = reader.read(size=10)
> 
> reader     = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea5e8df0>
> self       = <smart_open.tests.test_http.HttpTest 
> testMethod=test_seek_from_start>
> 
> smart_open/tests/test_http.py:61: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> smart_open/http.py:175: in read
>     bytes_read = self._read_buffer.fill(self._read_iter)
>         self       = <smart_open.http.SeekableBufferedInputBase object at 
> 0x7fe8ea5e8df0>
>         size       = 10
> smart_open/bytebuffer.py:155: in fill
>     for more_bytes in source:
>         new_bytes  = b''
>         self       = <smart_open.bytebuffer.ByteBuffer object at 
> 0x7fe8ea583fd0>
>         size       = 131072
>         source     = <generator object 
> Response.iter_content.<locals>.generate at 0x7fe8e9f598a0>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
>     def generate():
>         # Special case for urllib3.
>         if hasattr(self.raw, "stream"):
>             try:
>                 yield from self.raw.stream(chunk_size, decode_content=True)
>             except ProtocolError as e:
> >               raise ChunkedEncodingError(e)
> E               requests.exceptions.ChunkedEncodingError: ('Connection 
> broken: IncompleteRead(58 bytes read, 10 more expected)', IncompleteRead(58 
> bytes read, 10 more expected))
> 
> chunk_size = 131072
> self       = <Response [200]>
> 
> /usr/lib/python3/dist-packages/requests/models.py:822: ChunkedEncodingError
> =============================== warnings summary 
> ===============================
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_http.py: 1 
> warning
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py: 
> 10 warnings
>   /usr/lib/python3/dist-packages/responses/__init__.py:609: 
> DeprecationWarning: stream argument is deprecated. Use stream parameter in 
> request directly
>     warn(
> 
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenTest::test_incorrect
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build/smart_open/smart_open_lib.py:494:
>  DeprecationWarning: This function is deprecated.  See 
> https://github.com/RaRe-Technologies/smart_open/blob/develop/MIGRATING_FROM_OLDER_VERSIONS.rst
>  for more information
>     warnings.warn(message, category=DeprecationWarning)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> ============================= slowest 20 durations 
> =============================
> 0.60s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_read
> 0.60s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_unzip
> 0.60s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_hdfs.py::CliRawOutputBaseTest::test_write
> 0.60s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_hdfs.py::CliRawOutputBaseTest::test_zip
> 0.57s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_context_manager
> 0.50s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_hdfs.py::CliRawInputBaseTest::test_read_75
> 0.06s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenHttpTest::test_http_bz2
> 0.05s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenHttpTest::test_http_bz2_query
> 0.03s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_ssh.py::SSHOpen::test_open
> 0.01s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::SmartOpenHttpTest::test_http_gz
> 0.01s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_ssh.py::SSHOpen::test_open_with_transport_params
> 0.01s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_smart_open.py::WebHdfsWriteTest::test_write
> 0.01s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_ssh.py::SSHOpen::test_percent_encoding
> 0.01s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_ssh.py::SSHOpen::test_open_with_key_filename
> 0.01s call     
> .pybuild/cpython3_3.11_smart-open/build/smart_open/tests/test_ssh.py::SSHOpen::test_open_without_password
> 
> (5 durations < 0.005s hidden.  Use -vv to show these durations.)
> =========================== short test summary info 
> ============================
> FAILED smart_open/tests/test_http.py::HttpTest::test_https_seek_forward - 
> req...
> FAILED smart_open/tests/test_http.py::HttpTest::test_seek_from_current - 
> requ...
> FAILED smart_open/tests/test_http.py::HttpTest::test_seek_from_end - 
> requests...
> FAILED smart_open/tests/test_http.py::HttpTest::test_seek_from_start - 
> reques...
> SKIPPED [1] smart_open/tests/test_package.py:18: requires missing dependencies
> SKIPPED [1] smart_open/tests/test_package.py:13: requires missing dependencies
> SKIPPED [1] smart_open/tests/test_package.py:24: requires missing dependencies
> SKIPPED [1] smart_open/tests/test_s3.py:140: The test case needs a Moto 
> server running on the local 5000 port.
> SKIPPED [1] smart_open/tests/test_s3.py:418: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:426: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:325: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:228: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:240: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:249: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:395: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:441: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:339: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:368: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:384: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:261: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:291: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:305: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:316: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:279: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:406: For Debian skip ReaderTest
> SKIPPED [1] smart_open/tests/test_s3.py:541: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:569: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:576: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:529: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:558: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:564: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:583: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:463: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:476: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:486: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:495: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:517: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:593: For Debian skip 
> MultipartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:664: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:687: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:694: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:681: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:619: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:632: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:642: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:653: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:701: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:749: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:737: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:727: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:760: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:769: For Debian skip 
> SinglepartWriterTest
> SKIPPED [1] smart_open/tests/test_s3.py:800: For Debian skip this test
> SKIPPED [1] smart_open/tests/test_s3.py:831: For Debian skip this test
> SKIPPED [1] smart_open/tests/test_s3.py:857: For Debian skip 
> IterBucketSingleProcessTest
> SKIPPED [1] smart_open/tests/test_s3.py:874: For Debian skip 
> IterBucketCredentialsTest
> SKIPPED [1] smart_open/tests/test_s3.py:897: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:904: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:922: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:913: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:932: For Debian skip DownloadKeyTest
> SKIPPED [1] smart_open/tests/test_s3.py:949: For Debian skip OpenTest
> SKIPPED [3] 
> ../../../../../../usr/lib/python3/dist-packages/_pytest/unittest.py:378: For 
> Debian skip this test
> SKIPPED [1] smart_open/tests/test_s3_version.py:62: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:68: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:55: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:80: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:74: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:87: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_s3_version.py:94: For Debian skip 
> TestVersionId
> SKIPPED [1] smart_open/tests/test_smart_open.py:721: For Debian skip 
> test_read_never_returns_none
> SKIPPED [1] smart_open/tests/test_smart_open.py:832: Skipping 
> test_read_newline_binary
> SKIPPED [1] smart_open/tests/test_smart_open.py:774: Skipping 
> test_read_newline_cr
> SKIPPED [1] smart_open/tests/test_smart_open.py:804: Skipping 
> test_read_newline_crlf
> SKIPPED [1] smart_open/tests/test_smart_open.py:758: Skipping 
> test_read_newline_empty
> SKIPPED [1] smart_open/tests/test_smart_open.py:789: Skipping 
> test_read_newline_lf
> SKIPPED [1] smart_open/tests/test_smart_open.py:737: Skipping 
> test_read_newline_none
> SKIPPED [1] smart_open/tests/test_smart_open.py:818: Skipping 
> test_read_newline_slurp
> SKIPPED [1] smart_open/tests/test_smart_open.py:923: For Debian skip 
> test_readline
> SKIPPED [1] smart_open/tests/test_smart_open.py:953: For Debian skip 
> test_readline_eof
> SKIPPED [1] smart_open/tests/test_smart_open.py:936: For Debian skip 
> test_readline_iter
> SKIPPED [1] smart_open/tests/test_smart_open.py:969: For Debian skip 
> test_s3_iter_lines
> SKIPPED [1] smart_open/tests/test_smart_open.py:1094: For Debian skip 
> test_s3_iter_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1127: For Debian skip 
> test_s3_read_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1145: For Debian skip 
> test_s3_seek_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1167: For Debian skip 
> test_s3_tell
> SKIPPED [1] smart_open/tests/test_smart_open.py:895: Skipping 
> test_write_newline_cr
> SKIPPED [1] smart_open/tests/test_smart_open.py:909: Skipping 
> test_write_newline_crlf
> SKIPPED [1] smart_open/tests/test_smart_open.py:867: Skipping 
> test_write_newline_empty
> SKIPPED [1] smart_open/tests/test_smart_open.py:881: Skipping 
> test_write_newline_lf
> SKIPPED [1] smart_open/tests/test_smart_open.py:847: Skipping 
> test_write_newline_none
> SKIPPED [1] smart_open/tests/test_smart_open.py:1381: For Debian skip 
> test_s3_metadata_write
> SKIPPED [1] smart_open/tests/test_smart_open.py:1361: For Debian skip 
> test_s3_modes_moto
> SKIPPED [1] smart_open/tests/test_smart_open.py:1426: For Debian skip 
> test_write_bad_encoding_replace
> SKIPPED [1] smart_open/tests/test_smart_open.py:1415: For Debian skip 
> test_write_bad_encoding_strict
> SKIPPED [1] smart_open/tests/test_smart_open.py:1688: For Debian skip 
> test_gzip_read_mode
> SKIPPED [1] smart_open/tests/test_smart_open.py:1676: For Debian skip 
> test_gzip_write_mode
> SKIPPED [1] smart_open/tests/test_smart_open.py:1604: For Debian skip test_r
> SKIPPED [1] smart_open/tests/test_smart_open.py:1705: For Debian skip 
> test_read_encoding
> SKIPPED [1] smart_open/tests/test_smart_open.py:1719: For Debian skip 
> test_read_encoding_implicit_text
> SKIPPED [1] smart_open/tests/test_smart_open.py:1626: For Debian skip 
> test_rw_encoding
> SKIPPED [1] smart_open/tests/test_smart_open.py:1651: For Debian skip 
> test_rw_gzip
> SKIPPED [1] smart_open/tests/test_smart_open.py:1761: For Debian skip 
> test_write_bad_encoding_replace
> SKIPPED [1] smart_open/tests/test_smart_open.py:1748: For Debian skip 
> test_write_bad_encoding_strict
> SKIPPED [1] smart_open/tests/test_smart_open.py:1733: For Debian skip 
> test_write_encoding
> SKIPPED [1] smart_open/tests/test_smart_open.py:1777: For Debian skip 
> test_write_text_gzip
> =========== 4 failed, 198 passed, 104 skipped, 15 warnings in 5.07s 
> ============
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_smart-open/build; python3.11 -m 
> pytest smart_open/tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/06/15/smart-open_5.2.1-6_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240615;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240615&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

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 mark 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.

--- End Message ---
--- Begin Message ---
Source: smart-open
Source-Version: 7.0.4-1
Done: Alexandre Detiste <tc...@debian.org>

We believe that the bug you reported is fixed in the latest version of
smart-open, 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 1073...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alexandre Detiste <tc...@debian.org> (supplier of updated smart-open 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: SHA512

Format: 1.8
Date: Wed, 07 Aug 2024 01:29:12 +0200
Source: smart-open
Architecture: source
Version: 7.0.4-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Alexandre Detiste <tc...@debian.org>
Closes: 1073421
Changes:
 smart-open (7.0.4-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream version 7.0.4
   * Temp. disable the 4 tests that breaks with Urllib 2.x (Closes: #1073421)
     https://github.com/piskvorky/smart_open/issues/784 (LP: #2059351)
   * Add build dep on python3-wrapt
 .
   [ Michael R. Crusoe ]
   * New upstream location, fixed watch file to find new release.
Checksums-Sha1:
 dda9f881e4a52c7f701aa79317487d4988313b6b 2384 smart-open_7.0.4-1.dsc
 caaacf8072a9824095fe1089c8f28fa700f779e1 139682 smart-open_7.0.4.orig.tar.gz
 053b9eb2be42f70a4dd79b78e316fc1f4526c22d 22480 smart-open_7.0.4-1.debian.tar.xz
 fa4ded8f8934e5844486cdcadfe62b49f88e31c7 9368 
smart-open_7.0.4-1_source.buildinfo
Checksums-Sha256:
 369da3d4776e6a8d9bc067001a0eb94a82913d5459d32a6ded3c897687c033b4 2384 
smart-open_7.0.4-1.dsc
 f352d2681eb7ce49955050a0bad4b95d4cc150f5dffbbf73aaae77cfe9f30598 139682 
smart-open_7.0.4.orig.tar.gz
 1019718b4c8c4ad4955bc6766142f7258166b8f87edf8f73b66bf8580ea4154a 22480 
smart-open_7.0.4-1.debian.tar.xz
 0b18a8f95f75b554f90cce7984781a54b773af48f1a9269f26360653e9756932 9368 
smart-open_7.0.4-1_source.buildinfo
Files:
 3c6e06a829294912b672558aeb305952 2384 python optional smart-open_7.0.4-1.dsc
 34c7ef5cb498a38f41fc472d98612545 139682 python optional 
smart-open_7.0.4.orig.tar.gz
 958cfd79a6904c1cb7e70be79a1364a7 22480 python optional 
smart-open_7.0.4-1.debian.tar.xz
 c2d78e167bb2a35b97394e274b9663a8 9368 python optional 
smart-open_7.0.4-1_source.buildinfo

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

iQJFBAEBCgAvFiEEj23hBDd/OxHnQXSHMfMURUShdBoFAmayskcRHHRjaGV0QGRl
Ymlhbi5vcmcACgkQMfMURUShdBpxlxAAvNCOw/3VOqtbha1yh8RspyZogquCTF4L
Ymdke5y3ukXGooQlXyRI+wH3Hpm4txKgVej77ocu76KQfcRU5zr6GfXIf8o6yiE1
1fkaYTPdRRerZQ1ZG+R3GDSW/vxP/fya84/pGqazdaxhsgZscsKjkMMNM1tfz3ko
pQzckk8IKlQxISd8z1Nruex4ALVUAazJmXsuaJNmFHF0OkVt7DuwQiEvL/9D2FkS
bYB3XEzjxppzgbmqOoZ9XicNZ8CW9CfTBzpQHrjoaJLIPzII18/8O/cc22+WBXeK
a7LW+q/xcHXkBG8Md0zmJpHkl6zww0PlN99SDmYrp/pIudUSfUgKLFHod09V5/WX
gSDETnS4lpD0B9W5pLskIq5NWiS6a/0jh+Gl0eI/cRNRqtguUYazDy5luG0rgkWh
kD3lfothf+PH2Dj3wsFjKTd4J6scEU+qsFIDqAhHYm5txVYmiNt28uDx1lAze7fw
6vmEGIiRpsIv92FH/2QYSUU5/sBf2R/GN24wBwEeS2XBevooJH5WuizM/wZbaHDe
JN2XxC8SScrHv0htqOhxJt8FPyuiWme4m8ux0LGuz1SARi4LkkJ+eaR1CSilE5ER
JPnYycXex76S3bSgubn9LSF/6p5oInK3aYOvhRpUvXLtNJR1AljmpVBfenVA+6Ay
1qOxOGkvPco=
=ugLZ
-----END PGP SIGNATURE-----

Attachment: pgpJqYuMTx770.pgp
Description: PGP signature


--- End Message ---

Reply via email to