Source: sublime-music Version: 0.11.10-1 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20211023 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > dpkg-buildpackage > ----------------- > > Command: dpkg-buildpackage -us -uc -sa -rfakeroot > dpkg-buildpackage: info: source package sublime-music > dpkg-buildpackage: info: source version 0.11.10-1 > dpkg-buildpackage: info: source distribution unstable > dpkg-buildpackage: info: source changed by Louis-Philippe Véronneau > <po...@debian.org> > dpkg-source --before-build . > dpkg-buildpackage: info: host architecture amd64 > debian/rules clean > dh clean --with python3,sphinxdoc --buildsystem=pybuild --test-pytest > dh_auto_clean -O--buildsystem=pybuild -O--test-pytest > I: pybuild base:232: python3.9 setup.py clean > running clean > removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build' (and > everything under it) > 'build/bdist.linux-x86_64' does not exist -- can't clean it > 'build/scripts-3.9' does not exist -- can't clean it > dh_autoreconf_clean -O--buildsystem=pybuild -O--test-pytest > dh_clean -O--buildsystem=pybuild -O--test-pytest > dpkg-source -b . > dpkg-source: warning: upstream signing key but no upstream tarball signature > dpkg-source: info: using source format '3.0 (quilt)' > dpkg-source: info: building sublime-music using existing > ./sublime-music_0.11.10.orig.tar.xz > dpkg-source: info: using patch list from debian/patches/series > dpkg-source: info: building sublime-music in > sublime-music_0.11.10-1.debian.tar.xz > dpkg-source: info: building sublime-music in sublime-music_0.11.10-1.dsc > debian/rules binary > dh binary --with python3,sphinxdoc --buildsystem=pybuild --test-pytest > dh_update_autotools_config -O--buildsystem=pybuild -O--test-pytest > dh_autoreconf -O--buildsystem=pybuild -O--test-pytest > dh_auto_configure -O--buildsystem=pybuild -O--test-pytest > I: pybuild base:232: python3.9 setup.py config > running config > dh_auto_build -O--buildsystem=pybuild -O--test-pytest > I: pybuild base:232: /usr/bin/python3 setup.py build > running build > running build_py > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music > copying sublime_music/app.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music > copying sublime_music/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music > copying sublime_music/__main__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music > copying sublime_music/util.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music > copying sublime_music/config.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/players > copying sublime_music/players/mpv.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/players > copying sublime_music/players/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/players > copying sublime_music/players/chromecast.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/players > copying sublime_music/players/manager.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/players > copying sublime_music/players/base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/players > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus > copying sublime_music/dbus/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus > copying sublime_music/dbus/manager.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/artists.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/player_controls.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/playlists.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/state.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/albums.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/configure_provider.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/util.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/main.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > copying sublime_music/ui/browse.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters > copying sublime_music/adapters/configure_server_form.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters > copying sublime_music/adapters/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters > copying sublime_music/adapters/api_objects.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters > copying sublime_music/adapters/adapter_base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters > copying sublime_music/adapters/manager.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/common > copying sublime_music/ui/common/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/common > copying sublime_music/ui/common/spinner_image.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/common > copying sublime_music/ui/common/song_list_column.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/common > copying sublime_music/ui/common/load_error.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/common > copying sublime_music/ui/common/icon_button.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/common > copying sublime_music/ui/common/album_with_songs.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/common > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic > copying sublime_music/adapters/subsonic/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic > copying sublime_music/adapters/subsonic/api_objects.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic > copying sublime_music/adapters/subsonic/adapter.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/filesystem > copying sublime_music/adapters/filesystem/models.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/filesystem > copying sublime_music/adapters/filesystem/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/filesystem > copying sublime_music/adapters/filesystem/adapter.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/filesystem > copying sublime_music/adapters/filesystem/sqlite_extensions.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/filesystem > copying sublime_music/ui/app_styles.css -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/icons > copying sublime_music/adapters/icons/config-error-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/icons > copying sublime_music/adapters/icons/config-ok-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/icons > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/images > copying sublime_music/adapters/images/default-album-art.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/images > copying sublime_music/adapters/images/default-album-art.png -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/images > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic/icons > copying sublime_music/adapters/subsonic/icons/subsonic-offline-symbolic.svg > -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic/icons > copying sublime_music/adapters/subsonic/icons/subsonic-connected-symbolic.svg > -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic/icons > copying sublime_music/adapters/subsonic/icons/subsonic-error-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic/icons > copying sublime_music/adapters/subsonic/icons/subsonic-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/adapters/subsonic/icons > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus/mpris_specs > copying sublime_music/dbus/mpris_specs/org.mpris.MediaPlayer2.xml -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus/mpris_specs > copying sublime_music/dbus/mpris_specs/org.mpris.MediaPlayer2.Player.xml -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus/mpris_specs > copying sublime_music/dbus/mpris_specs/org.mpris.MediaPlayer2.Playlists.xml > -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus/mpris_specs > copying sublime_music/dbus/mpris_specs/org.mpris.MediaPlayer2.TrackList.xml > -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/dbus/mpris_specs > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/queue-front-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/chromecast-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/server-connected-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/server-offline-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/chromecast-connecting-2-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/chromecast-connecting-0-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/cloud-offline-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/chromecast-connecting-1-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/chromecast-connected-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/server-error-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > copying sublime_music/ui/icons/queue-back-symbolic.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/icons > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/images > copying sublime_music/ui/images/play-queue-play.png -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/images > copying sublime_music/ui/images/play-queue-play.svg -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build/sublime_music/ui/images > dh_auto_test -O--buildsystem=pybuild -O--test-pytest > I: pybuild base:232: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build; python3.9 -m > pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.9.7, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 -- > /usr/bin/python3.9 > cachedir: .pytest_cache > rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg > collecting ... collected 63 items > > tests/config_test.py::test_config_default_cache_location PASSED [ > 1%] > tests/config_test.py::test_server_property PASSED [ > 3%] > tests/config_test.py::test_json_load_unload FAILED [ > 4%] > tests/config_test.py::test_config_migrate_v5_to_v6 PASSED [ > 6%] > tests/adapter_tests/adapter_manager_tests.py::test_result_immediate PASSED [ > 7%] > tests/adapter_tests/adapter_manager_tests.py::test_result_immediate_callback > PASSED [ 9%] > tests/adapter_tests/adapter_manager_tests.py::test_result_future PASSED [ > 11%] > tests/adapter_tests/adapter_manager_tests.py::test_result_future_callback > PASSED [ 12%] > tests/adapter_tests/adapter_manager_tests.py::test_default_value PASSED [ > 14%] > tests/adapter_tests/adapter_manager_tests.py::test_cancel PASSED [ > 15%] > tests/adapter_tests/adapter_manager_tests.py::test_get_song_details PASSED [ > 17%] > tests/adapter_tests/adapter_manager_tests.py::test_search_result_sort PASSED > [ 19%] > tests/adapter_tests/adapter_manager_tests.py::test_search_result_update > PASSED [ 20%] > tests/adapter_tests/adapter_manager_tests.py::test_search PASSED [ > 22%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_playlists > PASSED [ 23%] > tests/adapter_tests/filesystem_adapter_tests.py::test_no_caching_get_playlists > PASSED [ 25%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_playlist_details > PASSED [ 26%] > tests/adapter_tests/filesystem_adapter_tests.py::test_no_caching_get_playlist_details > PASSED [ 28%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_playlist_then_details > PASSED [ 30%] > tests/adapter_tests/filesystem_adapter_tests.py::test_cache_cover_art PASSED > [ 31%] > tests/adapter_tests/filesystem_adapter_tests.py::test_invalidate_playlist > PASSED [ 33%] > tests/adapter_tests/filesystem_adapter_tests.py::test_invalidate_song_file > PASSED [ 34%] > tests/adapter_tests/filesystem_adapter_tests.py::test_malformed_song_path > PASSED [ 36%] > tests/adapter_tests/filesystem_adapter_tests.py::test_get_cached_statuses > PASSED [ 38%] > tests/adapter_tests/filesystem_adapter_tests.py::test_delete_playlists PASSED > [ 39%] > tests/adapter_tests/filesystem_adapter_tests.py::test_delete_song_data PASSED > [ 41%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_genres > PASSED [ 42%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_song_details > PASSED [ 44%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_song_details_missing_data > PASSED [ 46%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_less_info > PASSED [ 47%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_artists > PASSED [ 49%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_ignored_articles > PASSED [ 50%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_artist > XPASS [ 52%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_get_album > PASSED [ 53%] > tests/adapter_tests/filesystem_adapter_tests.py::test_caching_invalidate_artist > PASSED [ 55%] > tests/adapter_tests/filesystem_adapter_tests.py::test_get_music_directory > PASSED [ 57%] > tests/adapter_tests/filesystem_adapter_tests.py::test_search PASSED [ > 58%] > tests/adapter_tests/subsonic_adapter_tests.py::test_config_form SKIPPED [ > 60%] > tests/adapter_tests/subsonic_adapter_tests.py::test_plain_auth_logic PASSED [ > 61%] > tests/adapter_tests/subsonic_adapter_tests.py::test_salt_auth_logic PASSED [ > 63%] > tests/adapter_tests/subsonic_adapter_tests.py::test_migrate_configuration_populate_salt_auth > PASSED [ 65%] > tests/adapter_tests/subsonic_adapter_tests.py::test_migrate_configuration_salt_auth_present > PASSED [ 66%] > tests/adapter_tests/subsonic_adapter_tests.py::test_make_url PASSED [ > 68%] > tests/adapter_tests/subsonic_adapter_tests.py::test_ping_status PASSED [ > 69%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_playlists PASSED [ > 71%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_playlist_details > PASSED [ 73%] > tests/adapter_tests/subsonic_adapter_tests.py::test_create_playlist PASSED [ > 74%] > tests/adapter_tests/subsonic_adapter_tests.py::test_update_playlist PASSED [ > 76%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_song_details PASSED [ > 77%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_song_details_missing_data > PASSED [ 79%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_genres PASSED [ > 80%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_artists PASSED [ > 82%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_ignored_articles > PASSED [ 84%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_ignored_articles_from_cached_get_artists > PASSED [ 85%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_artist PASSED [ > 87%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_artist_with_good_image_url > PASSED [ 88%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_play_queue PASSED [ > 90%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_album PASSED [ > 92%] > tests/adapter_tests/subsonic_adapter_tests.py::test_get_music_directory > PASSED [ 93%] > tests/adapter_tests/subsonic_adapter_tests.py::test_search PASSED [ > 95%] > tests/player_tests/chromecast_tests.py::test_init PASSED [ > 96%] > tests/player_tests/mpv_tests.py::test_init PASSED [ > 98%] > tests/player_tests/mpv_tests.py::test_play PASSED > [100%] > > =================================== FAILURES > =================================== > ____________________________ test_json_load_unload > _____________________________ > > config_filename = > PosixPath('/tmp/pytest-of-user42/pytest-6/test_json_load_unload0/config.json') > tmp_path = PosixPath('/tmp/pytest-of-user42/pytest-6/test_json_load_unload0') > > def test_json_load_unload(config_filename: Path, tmp_path: Path): > ConfigurationStore.MOCK = True > subsonic_config_store = ConfigurationStore(username="test") > subsonic_config_store.set_secret("password", "testpass") > original_config = AppConfiguration( > providers={ > "1": ProviderConfiguration( > id="1", > name="foo", > ground_truth_adapter_type=SubsonicAdapter, > ground_truth_adapter_config=subsonic_config_store, > caching_adapter_type=FilesystemAdapter, > caching_adapter_config=ConfigurationStore(), > ) > }, > current_provider_id="1", > filename=config_filename, > ) > original_config.cache_location = tmp_path > > > original_config.save() > > tests/config_test.py:64: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > sublime_music/config.py:234: in save > json = self.to_json(indent=2, sort_keys=True) > /usr/lib/python3/dist-packages/dataclasses_json/api.py:49: in to_json > return json.dumps(self.to_dict(encode_json=False), > /usr/lib/python3/dist-packages/dataclasses_json/api.py:85: in to_dict > return _asdict(self, encode_json=encode_json) > /usr/lib/python3/dist-packages/dataclasses_json/core.py:346: in _asdict > return _encode_overrides(dict(result), _user_overrides_or_exts(obj), > /usr/lib/python3/dist-packages/dataclasses_json/core.py:110: in > _encode_overrides > v = encoder(v) if encoder is not None else v > sublime_music/config.py:71: in encode_providers > return { > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > .0 = <dict_itemiterator object at 0x7f5c68744f90> > > return { > > id_: { > **config, > "ground_truth_adapter_type": > config["ground_truth_adapter_type"].__name__, > "caching_adapter_type": ( > cast(type, config.get("caching_adapter_type")).__name__ > if config.get("caching_adapter_type") > else None > ), > } > for id_, config in providers_dict.items() > } > E TypeError: 'ProviderConfiguration' object is not a mapping > > sublime_music/config.py:72: TypeError > =========================== short test summary info > ============================ > FAILED tests/config_test.py::test_json_load_unload - TypeError: > 'ProviderConf... > ============== 1 failed, 60 passed, 1 skipped, 1 xpassed in 2.55s > ============== > E: pybuild pybuild:354: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build; python3.9 -m > pytest tests > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 > returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2021/10/23/sublime-music_0.11.10-1_unstable.log 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 marking 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.