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.

Reply via email to