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

