Package: src:python-bimmer-connected
Version: 0.16.3-1.2
Severity: serious
Tags: ftbfs forky sid

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/202512/

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:python-bimmer-connected, so that this is 
still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
dh clean --buildsystem=pybuild --with python3
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
dh binary --buildsystem=pybuild --with python3
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild

[... snipped ...]

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:715: RuntimeError
____________________ test_oauth_store_credentials_disabled _____________________

cli_home_dir = PosixPath('/tmp/pytest-of-sbuild/pytest-0/cli-home-13')

    @pytest.mark.usefixtures("bmw_fixture")
    @pytest.mark.usefixtures("cli_home_dir")
    def test_oauth_store_credentials_disabled(cli_home_dir: Path):
        """Test NOT storing the oauth credentials."""
    
        assert (cli_home_dir / ".bimmer_connected.json").exists() is False
    
        sys.argv = ["bimmerconnected", "--disable-oauth-store", "status", 
*ARGS_USER_PW_REGION]
>       bimmer_connected.cli.main()

bimmer_connected/tests/test_cli.py:234: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
bimmer_connected/cli.py:340: in main
    loop = asyncio.get_event_loop()
           ^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 
0x7ff3d920b4d0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:715: RuntimeError
___________________________ test_login_refresh_token ___________________________

cli_home_dir = PosixPath('/tmp/pytest-of-sbuild/pytest-0/cli-home-14')
bmw_fixture = <bimmer_connected.tests.common.MyBMWMockRouter object at 
0x7ff3d7d08310>

    @pytest.mark.usefixtures("cli_home_dir")
    def test_login_refresh_token(cli_home_dir: Path, bmw_fixture: respx.Router):
        """Test logging in with refresh token."""
    
        # set up stored tokens
        demo_oauth_data = {
            "access_token": "outdated_access_token",
            "refresh_token": "demo_refresh_token",
            "gcid": "demo_gcid",
        }
    
        (cli_home_dir / 
".bimmer_connected.json").write_text(json.dumps(demo_oauth_data))
        assert (cli_home_dir / ".bimmer_connected.json").exists() is True
    
        vehicle_routes = bmw_fixture.pop("vehicles")
        bmw_fixture.post("/eadrax-vcs/v5/vehicle-list", name="vehicles").mock(
            side_effect=[
                httpx.Response(401, json=load_response(RESPONSE_DIR / "auth" / 
"auth_error_wrong_password.json")),
                *[vehicle_routes.side_effect for _ in range(1000)],  # type: 
ignore[list-item]
            ]
        )
    
        sys.argv = ["bimmerconnected", "--debug", "status", 
*ARGS_USER_PW_REGION]
>       bimmer_connected.cli.main()

bimmer_connected/tests/test_cli.py:262: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
bimmer_connected/cli.py:340: in main
    loop = asyncio.get_event_loop()
           ^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 
0x7ff3d920b4d0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:715: RuntimeError
_______________________ test_login_invalid_refresh_token _______________________

cli_home_dir = PosixPath('/tmp/pytest-of-sbuild/pytest-0/cli-home-15')
bmw_fixture = <bimmer_connected.tests.common.MyBMWMockRouter object at 
0x7ff3d8bca620>

    @pytest.mark.usefixtures("cli_home_dir")
    def test_login_invalid_refresh_token(cli_home_dir: Path, bmw_fixture: 
respx.Router):
        """Test logging in with an invalid refresh token."""
    
        # set up stored tokens
        demo_oauth_data = {
            "refresh_token": "invalid_refresh_token",
            "gcid": "demo_gcid",
        }
    
        (cli_home_dir / 
".bimmer_connected.json").write_text(json.dumps(demo_oauth_data))
        assert (cli_home_dir / ".bimmer_connected.json").exists() is True
    
        bmw_fixture.post("/gcdm/oauth/token", name="token").mock(
            side_effect=[
                httpx.Response(401, json=load_response(RESPONSE_DIR / "auth" / 
"auth_error_wrong_password.json")),
                *[httpx.Response(200, json=load_response(RESPONSE_DIR / "auth" 
/ "auth_token.json")) for _ in range(1000)],
            ]
        )
    
        sys.argv = ["bimmerconnected", "status", *ARGS_USER_PW_REGION]
>       bimmer_connected.cli.main()

bimmer_connected/tests/test_cli.py:294: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
bimmer_connected/cli.py:340: in main
    loop = asyncio.get_event_loop()
           ^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 
0x7ff3d920b4d0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:715: RuntimeError
=========================== short test summary info ============================
FAILED 
bimmer_connected/tests/test_cli.py::test_status_json_filtered[WBA00000000000F31-1]
FAILED 
bimmer_connected/tests/test_cli.py::test_status_json_filtered[WBA00000000000F31,WBA00000000DEMO03-0]
FAILED 
bimmer_connected/tests/test_cli.py::test_status_json_filtered[WBA00000000000Z99-0]
FAILED bimmer_connected/tests/test_cli.py::test_status_json_unfiltered - Runt...
FAILED 
bimmer_connected/tests/test_cli.py::test_status_filtered[WBA00000000000F31-1]
FAILED 
bimmer_connected/tests/test_cli.py::test_status_filtered[WBA00000000000F31,WBA00000000DEMO03-0]
FAILED 
bimmer_connected/tests/test_cli.py::test_status_filtered[WBA00000000000Z99-0]
FAILED bimmer_connected/tests/test_cli.py::test_status_unfiltered - RuntimeEr...
FAILED bimmer_connected/tests/test_cli.py::test_fingerprint - RuntimeError: T...
FAILED bimmer_connected/tests/test_cli.py::test_oauth_store_credentials - Run...
FAILED bimmer_connected/tests/test_cli.py::test_oauth_load_credentials - Runt...
FAILED 
bimmer_connected/tests/test_cli.py::test_oauth_store_credentials_path[.bimmer_connected.json]
FAILED 
bimmer_connected/tests/test_cli.py::test_oauth_store_credentials_path[other-dir/myfile.json]
FAILED bimmer_connected/tests/test_cli.py::test_oauth_store_credentials_disabled
FAILED bimmer_connected/tests/test_cli.py::test_login_refresh_token - Runtime...
FAILED bimmer_connected/tests/test_cli.py::test_login_invalid_refresh_token
======================== 16 failed, 85 passed in 15.37s ========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest -v 
--ignore=bimmer_connected/tests/test_remote_services.py
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; 
python3.13 -m pytest -v --ignore=bimmer_connected/tests/test_remote_services.py
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- 
/usr/bin/python3.13
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build
configfile: pyproject.toml
plugins: time-machine-2.19.0, cov-5.0.0, timeout-2.4.0, asyncio-1.2.0, 
typeguard-4.4.4, anyio-4.11.0, respx-0.22.0
asyncio: mode=Mode.STRICT, debug=False, 
asyncio_default_fixture_loop_scope=None, 
asyncio_default_test_loop_scope=function
collecting ... collected 101 items

bimmer_connected/tests/test_account.py::test_login_row_na PASSED         [  0%]
bimmer_connected/tests/test_account.py::test_login_refresh_token_row_na_expired 
PASSED [  1%]
bimmer_connected/tests/test_account.py::test_login_refresh_token_row_na_401 
PASSED [  2%]
bimmer_connected/tests/test_account.py::test_login_refresh_token_row_na_invalid 
PASSED [  3%]
bimmer_connected/tests/test_account.py::test_login_china PASSED          [  4%]
bimmer_connected/tests/test_account.py::test_login_refresh_token_china_expired 
PASSED [  5%]
bimmer_connected/tests/test_account.py::test_login_refresh_token_china_401 
PASSED [  6%]
bimmer_connected/tests/test_account.py::test_login_refresh_token_china_invalid 
PASSED [  7%]
bimmer_connected/tests/test_account.py::test_vehicles PASSED             [  8%]
bimmer_connected/tests/test_account.py::test_vehicle_init PASSED         [  9%]
bimmer_connected/tests/test_account.py::test_invalid_password PASSED     [ 10%]
bimmer_connected/tests/test_account.py::test_invalid_password_china PASSED [ 
11%]
bimmer_connected/tests/test_account.py::test_server_error PASSED         [ 12%]
bimmer_connected/tests/test_account.py::test_vehicle_search_case PASSED  [ 13%]
bimmer_connected/tests/test_account.py::test_get_fingerprints PASSED     [ 14%]
bimmer_connected/tests/test_account.py::test_set_observer_value PASSED   [ 15%]
bimmer_connected/tests/test_account.py::test_set_observer_not_set PASSED [ 16%]
bimmer_connected/tests/test_account.py::test_set_observer_invalid_values PASSED 
[ 17%]
bimmer_connected/tests/test_account.py::test_set_use_metric_units PASSED [ 18%]
bimmer_connected/tests/test_account.py::test_refresh_token_getset PASSED [ 19%]
bimmer_connected/tests/test_account.py::test_429_retry_ok_oauth_config PASSED [ 
20%]
bimmer_connected/tests/test_account.py::test_429_retry_raise_oauth_config 
PASSED [ 21%]
bimmer_connected/tests/test_account.py::test_429_retry_ok_authenticate PASSED [ 
22%]
bimmer_connected/tests/test_account.py::test_429_retry_raise_authenticate 
PASSED [ 23%]
bimmer_connected/tests/test_account.py::test_429_retry_ok_vehicles PASSED [ 24%]
bimmer_connected/tests/test_account.py::test_429_retry_raise_vehicles PASSED [ 
25%]
bimmer_connected/tests/test_account.py::test_429_retry_with_login_ok_vehicles 
PASSED [ 26%]
bimmer_connected/tests/test_account.py::test_429_retry_with_login_raise_vehicles
 PASSED [ 27%]
bimmer_connected/tests/test_account.py::test_multiple_401 PASSED         [ 28%]
bimmer_connected/tests/test_account.py::test_401_after_429_ok PASSED     [ 29%]
bimmer_connected/tests/test_account.py::test_401_after_429_fail PASSED   [ 30%]
bimmer_connected/tests/test_account.py::test_403_quota_exceeded_vehicles_usa 
PASSED [ 31%]
bimmer_connected/tests/test_account.py::test_incomplete_vehicle_details PASSED 
[ 32%]
bimmer_connected/tests/test_account.py::test_no_vehicle_details PASSED   [ 33%]
bimmer_connected/tests/test_account.py::test_client_async_only PASSED    [ 34%]
bimmer_connected/tests/test_account.py::test_pillow_unavailable PASSED   [ 35%]
bimmer_connected/tests/test_api.py::test_valid_regions PASSED            [ 36%]
bimmer_connected/tests/test_api.py::test_unknown_region PASSED           [ 37%]
bimmer_connected/tests/test_api.py::test_anonymize_data PASSED           [ 38%]
bimmer_connected/tests/test_api.py::test_storing_fingerprints PASSED     [ 39%]
bimmer_connected/tests/test_api.py::test_fingerprint_deque PASSED        [ 40%]
bimmer_connected/tests/test_api.py::test_get_retry_wait_time PASSED      [ 41%]
bimmer_connected/tests/test_cli.py::test_run_entrypoint PASSED           [ 42%]
bimmer_connected/tests/test_cli.py::test_run_module PASSED               [ 43%]
bimmer_connected/tests/test_cli.py::test_status_json_filtered[WBA00000000000F31-1]
 PASSED [ 44%]
bimmer_connected/tests/test_cli.py::test_status_json_filtered[WBA00000000000F31,WBA00000000DEMO03-0]
 PASSED [ 45%]
bimmer_connected/tests/test_cli.py::test_status_json_filtered[WBA00000000000Z99-0]
 PASSED [ 46%]
bimmer_connected/tests/test_cli.py::test_status_json_unfiltered PASSED   [ 47%]
bimmer_connected/tests/test_cli.py::test_status_filtered[WBA00000000000F31-1] 
PASSED [ 48%]
bimmer_connected/tests/test_cli.py::test_status_filtered[WBA00000000000F31,WBA00000000DEMO03-0]
 PASSED [ 49%]
bimmer_connected/tests/test_cli.py::test_status_filtered[WBA00000000000Z99-0] 
PASSED [ 50%]
bimmer_connected/tests/test_cli.py::test_status_unfiltered PASSED        [ 51%]
bimmer_connected/tests/test_cli.py::test_fingerprint PASSED              [ 52%]
bimmer_connected/tests/test_cli.py::test_oauth_store_credentials PASSED  [ 53%]
bimmer_connected/tests/test_cli.py::test_oauth_load_credentials PASSED   [ 54%]
bimmer_connected/tests/test_cli.py::test_oauth_store_credentials_path[.bimmer_connected.json]
 PASSED [ 55%]
bimmer_connected/tests/test_cli.py::test_oauth_store_credentials_path[other-dir/myfile.json]
 PASSED [ 56%]
bimmer_connected/tests/test_cli.py::test_oauth_store_credentials_disabled 
PASSED [ 57%]
bimmer_connected/tests/test_cli.py::test_login_refresh_token PASSED      [ 58%]
bimmer_connected/tests/test_cli.py::test_login_invalid_refresh_token PASSED [ 
59%]
bimmer_connected/tests/test_utils.py::test_drive_train PASSED            [ 60%]
bimmer_connected/tests/test_utils.py::test_parse_datetime PASSED         [ 61%]
bimmer_connected/tests/test_utils.py::test_json_encoder PASSED           [ 62%]
bimmer_connected/tests/test_utils.py::test_charging_settings PASSED      [ 63%]
bimmer_connected/tests/test_utils.py::test_get_capture_position PASSED   [ 64%]
bimmer_connected/tests/test_vehicle.py::test_drive_train PASSED          [ 65%]
bimmer_connected/tests/test_vehicle.py::test_parsing_attributes PASSED   [ 66%]
bimmer_connected/tests/test_vehicle.py::test_drive_train_attributes PASSED [ 
67%]
bimmer_connected/tests/test_vehicle.py::test_parsing_of_lsc_type PASSED  [ 68%]
bimmer_connected/tests/test_vehicle.py::test_car_brand PASSED            [ 69%]
bimmer_connected/tests/test_vehicle.py::test_get_is_tracking_enabled PASSED [ 
70%]
bimmer_connected/tests/test_vehicle.py::test_available_attributes PASSED [ 71%]
bimmer_connected/tests/test_vehicle.py::test_vehicle_image PASSED        [ 72%]
bimmer_connected/tests/test_vehicle.py::test_no_timestamp PASSED         [ 73%]
bimmer_connected/tests/test_vehicle.py::test_strenum PASSED              [ 74%]
bimmer_connected/tests/test_vehicle.py::test_vehiclebasedata PASSED      [ 75%]
bimmer_connected/tests/test_vehicle.py::test_gpsposition PASSED          [ 76%]
bimmer_connected/tests/test_vehicle.py::test_headunit_data PASSED        [ 77%]
bimmer_connected/tests/test_vehicle_status.py::test_generic[bmw_fixture0] 
PASSED [ 78%]
bimmer_connected/tests/test_vehicle_status.py::test_generic_error_handling 
PASSED [ 79%]
bimmer_connected/tests/test_vehicle_status.py::test_range_combustion_no_info[WBA00000000000F31]
 PASSED [ 80%]
bimmer_connected/tests/test_vehicle_status.py::test_range_combustion_no_info[WZ100000000000J29]
 PASSED [ 81%]
bimmer_connected/tests/test_vehicle_status.py::test_range_combustion PASSED [ 
82%]
bimmer_connected/tests/test_vehicle_status.py::test_range_phev PASSED    [ 83%]
bimmer_connected/tests/test_vehicle_status.py::test_range_rex PASSED     [ 84%]
bimmer_connected/tests/test_vehicle_status.py::test_range_electric PASSED [ 85%]
bimmer_connected/tests/test_vehicle_status.py::test_charging_end_time PASSED [ 
86%]
bimmer_connected/tests/test_vehicle_status.py::test_plugged_in_waiting_for_charge_window
 PASSED [ 87%]
bimmer_connected/tests/test_vehicle_status.py::test_condition_based_services 
PASSED [ 88%]
bimmer_connected/tests/test_vehicle_status.py::test_position_generic PASSED [ 
89%]
bimmer_connected/tests/test_vehicle_status.py::test_vehicle_active PASSED [ 90%]
bimmer_connected/tests/test_vehicle_status.py::test_parse_f31_no_position 
PASSED [ 91%]
bimmer_connected/tests/test_vehicle_status.py::test_parse_gcj02_position PASSED 
[ 92%]
bimmer_connected/tests/test_vehicle_status.py::test_lids PASSED          [ 93%]
bimmer_connected/tests/test_vehicle_status.py::test_windows_g01 PASSED   [ 94%]
bimmer_connected/tests/test_vehicle_status.py::test_door_locks PASSED    [ 95%]
bimmer_connected/tests/test_vehicle_status.py::test_check_control_messages 
PASSED [ 96%]
bimmer_connected/tests/test_vehicle_status.py::test_charging_profile PASSED [ 
97%]
bimmer_connected/tests/test_vehicle_status.py::test_charging_profile_format_for_remote_service
 PASSED [ 98%]
bimmer_connected/tests/test_vehicle_status.py::test_tires PASSED         [ 99%]
bimmer_connected/tests/test_vehicle_status.py::test_climate PASSED       [100%]

============================= 101 passed in 18.14s =============================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to