Test suite failures on Debian for 0.11.10
Hi!
I've worked quite a bit to get 0.11.9
uploaded in Debian and things look pretty good. I'm currently waiting for python-typing-inspect, python-marshmallow-enum and dataclasses-json to make it to the archive for me to upload the latest sublime-music version.
That said, I've hit some test suite errors and I wanted to check with you to see if you had an idea what caused those. I'm aware these might be hard for you to reproduce, since I'm using Debian packages I've built locally for python-typing-inspect, python-marshmallow-enum and dataclasses-json.
Peewee
Using Python 3.9 (3.8 yields the same error), peewee
seems to fail. Debian has version 3.13.1
while the latest upstream version is 3.13.3
, so I doubt the problem comes from an outdated version:
___________________________ test_caching_get_artist ____________________________
cache_adapter = <sublime_music.adapters.filesystem.adapter.FilesystemAdapter object at 0x7f9e8c9706d0>
def test_caching_get_artist(cache_adapter: FilesystemAdapter):
with pytest.raises(CacheMissError):
cache_adapter.get_artist("1")
# Simulate the artist details being retrieved from Subsonic.
cache_adapter.ingest_new_data(
KEYS.ARTIST,
"1",
SubsonicAPI.ArtistAndArtistInfo(
id="1",
name="Bar",
album_count=1,
artist_image_url="image",
similar_artists=[
SubsonicAPI.ArtistAndArtistInfo(id="A", name="B"),
SubsonicAPI.ArtistAndArtistInfo(id="C", name="D"),
],
biography="this is a bio",
music_brainz_id="mbid",
albums=[
SubsonicAPI.Album(id="1", name="Foo", _artist="Bar", artist_id="1")
],
),
)
artist = cache_adapter.get_artist("1")
assert (
artist.artist_image_url
and (
artist.id,
artist.name,
artist.album_count,
artist.artist_image_url,
artist.biography,
artist.music_brainz_id,
)
== ("1", "Bar", 1, "image", "this is a bio", "mbid")
)
> assert artist.similar_artists == [
SubsonicAPI.ArtistAndArtistInfo(id="A", name="B"),
SubsonicAPI.ArtistAndArtistInfo(id="C", name="D"),
]
tests/adapter_tests/filesystem_adapter_tests.py:775:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <peewee.ModelSelect object at 0x7f9e8c9704c0>
other = [ArtistAndArtistInfo(name='B', id='A', albums=[], album_count=None, cover_art=None, artist_image_url=None, starred=Non...None, artist_image_url=None, starred=None, similar_artists=[], biography=None, music_brainz_id=None, last_fm_url=None)]
def __eq__(self, other):
> return self._hash == other._hash
E AttributeError: 'list' object has no attribute '_hash'
/usr/lib/python3/dist-packages/peewee.py:817: AttributeError
test_config_form() segfaults
This test simply segfaults, and I have not been able to get something more verbose than this :(
tests/adapter_tests/subsonic_adapter_tests.py::test_config_form Segmentation fault
E: pybuild pybuild:352: test: plugin distutils failed with: exit code=139: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sublime-music/build; python3.9 -m pytest --verbose
Happy to run pytest with different options or modify the test to get something more verbose if you want me to.