Package: src:vcr.py
Version: 8.1.1-2
Severity: serious
Tags: ftbfs forky sid
User: [email protected]
Usertags: aiohttp-3.14

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202606/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:vcr.py, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:142: Building wheel for python3.14 with "build" 
module
I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_vcr  

[... snipped ...]

    from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
    from yarl import URL
    
    from vcr.errors import CannotOverwriteExistingCassetteException
    from vcr.request import Request
    
    log = logging.getLogger(__name__)
    
    
>   class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E   AttributeError: module 'aiohttp.streams' has no attribute 
'AsyncStreamReaderMixin'

vcr/stubs/aiohttp_stubs.py:21: AttributeError
_________________________ test_path_class_as_cassette __________________________

    def test_path_class_as_cassette():
        path = Path(__file__).parent.parent.joinpath(
            "integration/cassettes/test_httpx_test_test_behind_proxy.yml",
        )
>       with use_cassette(path):
             ^^^^^^^^^^^^^^^^^^

tests/unit/test_vcr.py:373: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
vcr/cassette.py:84: in __enter__
    return next(self.__finish)
           ^^^^^^^^^^^^^^^^^^^
vcr/cassette.py:58: in _patch_generator
    for patcher in CassettePatcherBuilder(cassette).build():
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vcr/patch.py:129: in _build_patchers_from_mock_triples
    for args in mock_triples:
                ^^^^^^^^^^^^
vcr/patch.py:301: in _aiohttp
    from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    """Stubs for aiohttp HTTP clients"""
    
    import asyncio
    import functools
    import json
    import logging
    from collections.abc import Mapping
    from http.cookies import CookieError, Morsel, SimpleCookie
    
    from aiohttp import ClientConnectionError, ClientResponse, CookieJar, 
RequestInfo, hdrs, streams
    from aiohttp.helpers import strip_auth_from_url
    from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
    from yarl import URL
    
    from vcr.errors import CannotOverwriteExistingCassetteException
    from vcr.request import Request
    
    log = logging.getLogger(__name__)
    
    
>   class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E   AttributeError: module 'aiohttp.streams' has no attribute 
'AsyncStreamReaderMixin'

vcr/stubs/aiohttp_stubs.py:21: AttributeError
______________________ test_use_cassette_generator_return ______________________

    def test_use_cassette_generator_return():
        ret_val = object()
    
        vcr = VCR()
    
        @vcr.use_cassette("test")
        def gen():
            return ret_val
            yield
    
        with pytest.raises(StopIteration) as exc_info:
>           next(gen())

tests/unit/test_vcr.py:388: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
vcr/cassette.py:127: in _handle_generator
    with self as cassette:
         ^^^^
vcr/cassette.py:84: in __enter__
    return next(self.__finish)
           ^^^^^^^^^^^^^^^^^^^
vcr/cassette.py:58: in _patch_generator
    for patcher in CassettePatcherBuilder(cassette).build():
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vcr/patch.py:129: in _build_patchers_from_mock_triples
    for args in mock_triples:
                ^^^^^^^^^^^^
vcr/patch.py:301: in _aiohttp
    from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    """Stubs for aiohttp HTTP clients"""
    
    import asyncio
    import functools
    import json
    import logging
    from collections.abc import Mapping
    from http.cookies import CookieError, Morsel, SimpleCookie
    
    from aiohttp import ClientConnectionError, ClientResponse, CookieJar, 
RequestInfo, hdrs, streams
    from aiohttp.helpers import strip_auth_from_url
    from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
    from yarl import URL
    
    from vcr.errors import CannotOverwriteExistingCassetteException
    from vcr.request import Request
    
    log = logging.getLogger(__name__)
    
    
>   class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E   AttributeError: module 'aiohttp.streams' has no attribute 
'AsyncStreamReaderMixin'

vcr/stubs/aiohttp_stubs.py:21: AttributeError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434
  /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434: 
PytestConfigWarning: Unknown config option: asyncio_default_fixture_loop_scope
  
    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434
  /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434: 
PytestConfigWarning: Unknown config option: asyncio_default_test_loop_scope
  
    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

.pybuild/cpython3_3.13_vcr/build/tests/integration/test_wild.py::test_xmlrpclib
  /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: 
This process (pid=114) is multi-threaded, use of fork() may lead to deadlocks 
in the child.
    self.pid = os.fork()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/integration/test_basic.py::test_nonexistent_directory - Attribut...
FAILED tests/integration/test_basic.py::test_unpatch - AttributeError: module...
FAILED tests/integration/test_basic.py::test_basic_json_use - AttributeError:...
FAILED tests/integration/test_basic.py::test_patched_content - AttributeError...
FAILED tests/integration/test_basic.py::test_patched_content_json - Attribute...
FAILED tests/integration/test_config.py::test_set_drop_unused_requests - Attr...
FAILED tests/integration/test_filter.py::test_filter_basic_auth - AttributeEr...
FAILED tests/integration/test_filter.py::test_filter_querystring - AttributeE...
FAILED tests/integration/test_filter.py::test_filter_post_data - AttributeErr...
FAILED tests/integration/test_filter.py::test_filter_json_post_data - Attribu...
FAILED tests/integration/test_filter.py::test_filter_callback - AttributeErro...
FAILED tests/integration/test_filter.py::test_decompress_gzip - AttributeErro...
FAILED tests/integration/test_filter.py::test_decomptess_empty_body - Attribu...
FAILED tests/integration/test_filter.py::test_decompress_deflate - AttributeE...
FAILED tests/integration/test_filter.py::test_decompress_brotli - AttributeEr...
FAILED tests/integration/test_filter.py::test_decompress_regular - AttributeE...
FAILED tests/integration/test_filter.py::test_before_record_request_corruption
FAILED tests/integration/test_httplib2.py::test_response_code[http] - Attribu...
FAILED tests/integration/test_httplib2.py::test_random_body[http] - Attribute...
FAILED tests/integration/test_httplib2.py::test_response_headers[http] - Attr...
FAILED tests/integration/test_httplib2.py::test_multiple_requests[http] - Att...
FAILED tests/integration/test_httplib2.py::test_get_data[http] - AttributeErr...
FAILED tests/integration/test_httplib2.py::test_post_data[http] - AttributeEr...
FAILED tests/integration/test_httplib2.py::test_post_unicode_data[http] - Att...
FAILED tests/integration/test_httplib2.py::test_decorator[http] - AttributeEr...
FAILED tests/integration/test_urllib3.py::test_status_code[http] - AttributeE...
FAILED tests/integration/test_urllib3.py::test_headers[http] - AttributeError...
FAILED tests/integration/test_urllib3.py::test_body[http] - AttributeError: m...
FAILED tests/integration/test_urllib3.py::test_auth[http] - AttributeError: m...
FAILED tests/integration/test_urllib3.py::test_auth_failed[http] - AttributeE...
FAILED tests/integration/test_urllib3.py::test_gzip[http] - AttributeError: m...
FAILED tests/integration/test_httplib2.py::test_response_code[https] - Attrib...
FAILED tests/integration/test_httplib2.py::test_random_body[https] - Attribut...
FAILED tests/integration/test_httplib2.py::test_response_headers[https] - Att...
FAILED tests/integration/test_httplib2.py::test_multiple_requests[https] - At...
FAILED tests/integration/test_httplib2.py::test_get_data[https] - AttributeEr...
FAILED tests/integration/test_httplib2.py::test_post_data[https] - AttributeE...
FAILED tests/integration/test_httplib2.py::test_post_unicode_data[https] - At...
FAILED tests/integration/test_httplib2.py::test_decorator[https] - AttributeE...
FAILED tests/integration/test_urllib3.py::test_status_code[https] - Attribute...
FAILED tests/integration/test_urllib3.py::test_headers[https] - AttributeErro...
FAILED tests/integration/test_urllib3.py::test_body[https] - AttributeError: ...
FAILED tests/integration/test_urllib3.py::test_auth[https] - AttributeError: ...
FAILED tests/integration/test_urllib3.py::test_auth_failed[https] - Attribute...
FAILED tests/integration/test_urllib3.py::test_gzip[https] - AttributeError: ...
FAILED tests/integration/test_httplib2.py::test_cross_scheme - AttributeError...
FAILED tests/integration/test_ignore.py::test_ignore_localhost - AttributeErr...
FAILED tests/integration/test_ignore.py::test_ignore_httpbin - AttributeError...
FAILED tests/integration/test_ignore.py::test_ignore_localhost_and_httpbin - ...
FAILED tests/integration/test_ignore.py::test_ignore_localhost_twice - Attrib...
FAILED 
tests/integration/test_multiple.py::test_making_extra_request_raises_exception
FAILED tests/integration/test_proxy.py::test_use_proxy - AttributeError: modu...
FAILED tests/integration/test_proxy.py::test_use_https_proxy - AttributeError...
FAILED tests/integration/test_record_mode.py::test_once_record_mode - Attribu...
FAILED tests/integration/test_record_mode.py::test_once_record_mode_two_times
FAILED tests/integration/test_record_mode.py::test_once_mode_three_times - At...
FAILED tests/integration/test_record_mode.py::test_new_episodes_record_mode
FAILED 
tests/integration/test_record_mode.py::test_new_episodes_record_mode_two_times
FAILED tests/integration/test_record_mode.py::test_all_record_mode - Attribut...
FAILED tests/integration/test_record_mode.py::test_none_record_mode - Attribu...
FAILED 
tests/integration/test_record_mode.py::test_none_record_mode_with_existing_cassette
FAILED 
tests/integration/test_register_persister.py::test_save_cassette_with_custom_persister
FAILED 
tests/integration/test_register_persister.py::test_load_cassette_with_custom_persister
FAILED 
tests/integration/test_register_persister.py::test_load_cassette_persister_exception_handling
FAILED tests/integration/test_register_serializer.py::test_registered_serializer
FAILED 
tests/integration/test_request.py::test_recorded_request_uri_with_redirected_request
FAILED tests/integration/test_request.py::test_records_multiple_header_values
FAILED tests/integration/test_stubs.py::test_case_insensitivity - AttributeEr...
FAILED tests/integration/test_stubs.py::test_multiple_headers - AttributeErro...
FAILED 
tests/integration/test_stubs.py::test_original_decoded_response_is_not_modified
FAILED 
tests/integration/test_stubs.py::test_original_response_is_not_modified_by_before_filter
FAILED tests/integration/test_urllib3.py::test_cross_scheme - AttributeError:...
FAILED 
tests/integration/test_urllib3.py::test_https_with_cert_validation_disabled
FAILED tests/integration/test_urllib3.py::test_urllib3_force_reset - Attribut...
FAILED tests/integration/test_wild.py::test_domain_redirect - AttributeError:...
FAILED tests/integration/test_wild.py::test_flickr_multipart_upload - Attribu...
FAILED tests/integration/test_wild.py::test_cookies - AttributeError: module ...
FAILED tests/integration/test_wild.py::test_xmlrpclib - AttributeError: modul...
FAILED 
tests/unit/test_cassettes.py::test_function_decorated_with_use_cassette_can_be_invoked_multiple_times
FAILED tests/unit/test_cassettes.py::test_arg_getter_functionality - Attribut...
FAILED tests/unit/test_cassettes.py::test_nesting_cassette_context_managers
FAILED 
tests/unit/test_cassettes.py::test_nesting_context_managers_by_checking_references_of_http_connection
FAILED tests/unit/test_cassettes.py::test_custom_patchers - AttributeError: m...
FAILED tests/unit/test_cassettes.py::test_decorated_functions_are_reentrant
FAILED 
tests/unit/test_cassettes.py::test_cassette_use_called_without_path_uses_function_to_generate_path
FAILED tests/unit/test_cassettes.py::test_path_transformer_with_function_path
FAILED tests/unit/test_cassettes.py::test_path_transformer_with_context_manager
FAILED tests/unit/test_cassettes.py::test_path_transformer_None - AttributeEr...
FAILED tests/unit/test_cassettes.py::test_func_path_generator - AttributeErro...
FAILED tests/unit/test_cassettes.py::test_use_as_decorator_on_coroutine - Att...
FAILED tests/unit/test_cassettes.py::test_use_as_decorator_on_generator - Att...
FAILED tests/unit/test_unittest.py::test_defaults - AttributeError: 'MyTest' ...
FAILED tests/unit/test_unittest.py::test_disabled - AssertionError: assert False
FAILED tests/unit/test_unittest.py::test_cassette_library_dir - AttributeErro...
FAILED tests/unit/test_unittest.py::test_cassette_name - AttributeError: 'MyT...
FAILED tests/unit/test_unittest.py::test_vcr_kwargs_overridden - AttributeErr...
FAILED tests/unit/test_unittest.py::test_vcr_kwargs_passed - AttributeError: ...
FAILED tests/unit/test_unittest.py::test_vcr_kwargs_cassette_dir - AttributeE...
FAILED tests/unit/test_vcr.py::test_vcr_use_cassette - AttributeError: module...
FAILED tests/unit/test_vcr.py::test_vcr_before_record_request_params - Attrib...
FAILED tests/unit/test_vcr.py::test_vcr_before_record_response_iterable - Att...
FAILED tests/unit/test_vcr.py::test_before_record_response_as_filter - Attrib...
FAILED tests/unit/test_vcr.py::test_vcr_path_transformer - AttributeError: mo...
FAILED tests/unit/test_vcr.py::test_fixtures_with_use_cassette - AttributeErr...
FAILED tests/unit/test_vcr.py::test_custom_patchers - AttributeError: module ...
FAILED tests/unit/test_vcr.py::test_inject_cassette - AttributeError: module ...
FAILED tests/unit/test_vcr.py::test_with_current_defaults - AttributeError: m...
FAILED 
tests/unit/test_vcr.py::test_cassette_library_dir_with_decoration_and_no_explicit_path
FAILED 
tests/unit/test_vcr.py::test_cassette_library_dir_with_decoration_and_explicit_path
FAILED 
tests/unit/test_vcr.py::test_cassette_library_dir_with_decoration_and_super_explicit_path
FAILED tests/unit/test_vcr.py::test_cassette_library_dir_with_path_transformer
FAILED tests/unit/test_vcr.py::test_use_cassette_with_no_extra_invocation - A...
FAILED tests/unit/test_vcr.py::test_path_transformer - AttributeError: module...
FAILED 
tests/unit/test_vcr.py::test_cassette_name_generator_defaults_to_using_module_function_defined_in
FAILED tests/unit/test_vcr.py::test_ensure_suffix - AttributeError: module 'a...
FAILED 
tests/unit/test_vcr.py::test_decoration_should_respect_function_return_value
FAILED tests/unit/test_vcr.py::TestVCRClass::test_one - AttributeError: modul...
FAILED tests/unit/test_vcr.py::TestVCRClass::test_two - AttributeError: modul...
FAILED tests/unit/test_vcr.py::TestVCRClass::test_dynamically_added - Attribu...
FAILED tests/unit/test_vcr.py::test_path_class_as_cassette - AttributeError: ...
FAILED tests/unit/test_vcr.py::test_use_cassette_generator_return - Attribute...
ERROR 
tests/integration/test_matchers.py::test_matchers[uri-http://httpbin.org/get?p1=q1&p2=q2-http://httpbin.org/get?p2=q2&p1=q1]
ERROR 
tests/integration/test_matchers.py::test_matchers[scheme-http://google.com/post?a=b-https://httpbin.org/get?p1=q1&p2=q2]
ERROR 
tests/integration/test_matchers.py::test_matchers[host-https://httpbin.org/post?a=b-http://google.com/get?p1=q1&p2=q2]
ERROR 
tests/integration/test_matchers.py::test_matchers[path-https://google.com/get?a=b-http://httpbin.org/post?p1=q1&p2=q2]
ERROR 
tests/integration/test_matchers.py::test_matchers[query-https://google.com/get?p2=q2&p1=q1-http://httpbin.org/get?p1=q1&a=b]
ERROR tests/integration/test_matchers.py::test_method_matcher - AttributeErro...
ERROR 
tests/integration/test_matchers.py::test_default_matcher_matches[http://httpbin.org/get?p1=q1&p2=q2]
ERROR 
tests/integration/test_matchers.py::test_default_matcher_matches[http://httpbin.org/get?p2=q2&p1=q1_0]
ERROR 
tests/integration/test_matchers.py::test_default_matcher_matches[http://httpbin.org/get?p2=q2&p1=q1_1]
ERROR 
tests/integration/test_matchers.py::test_default_matcher_does_not_match[https://httpbin.org/get?p1=q1&p2=q2]
ERROR 
tests/integration/test_matchers.py::test_default_matcher_does_not_match[http://google.com/get?p1=q1&p2=q2]
ERROR 
tests/integration/test_matchers.py::test_default_matcher_does_not_match[http://httpbin.org/post?p1=q1&p2=q2]
ERROR 
tests/integration/test_matchers.py::test_default_matcher_does_not_match[http://httpbin.org/get?p1=q1&a=b]
ERROR 
tests/integration/test_matchers.py::test_default_matcher_does_not_match_on_method
= 121 failed, 133 passed, 3 skipped, 21 deselected, 3 warnings, 14 errors in 
3.25s =
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_vcr/build; python3.13 -m pytest 
--ignore tests/integration/test_aiohttp.py --ignore 
tests/integration/test_tornado.py --ignore tests/integration/test_requests.py 
-m "not online" -k "not test_post[http] and not test_post[https] and not 
test_body_consumed_once_stream and not test_body_consumed_once_iterator and not 
test_additional_matchers"
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:28: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

Reply via email to