kmille / deezer-downloader

Download music from Deezer with a nice front end
MIT License
652 stars 91 forks source link

python3.7 vs python 3.8 bug in tests.py #13

Closed kmille closed 4 years ago

kmille commented 4 years ago

if run on Debian buster with python3.7 (used the python3 branch on both sites):

(venv) root@buster:/opt/deezer/app# python -m unittest tests.TestSpotifyMethods.test_spotify_parser_valid_playlist_url                                                                                                                         F                                                                                                                                                                                                                                              ======================================================================                                                                                                                                                                         FAIL: test_spotify_parser_valid_playlist_url (tests.TestSpotifyMethods)                                                                                                                                                                        ----------------------------------------------------------------------                                                                                                                                                                         Traceback (most recent call last):                                                                                                                                                                                                               File "/opt/deezer/app/tests.py", line 220, in test_spotify_parser_valid_playlist_url                                                                                                                                                             self._test_parse_spotify_playlist_website(playlist_url)                                                                                                                                                                                      File "/opt/deezer/app/tests.py", line 212, in _test_parse_spotify_playlist_website                                                                                                                                                           
    self.assertEqual(playlist, set(songs))                                                                             
AssertionError: Items in the first set but not the second:
'Erasure Always - 2009 Remastered Version'
Items in the second set but not the first:
'Erasure Always'                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ----------------------------------------------------------------------                                                                                                                                                                         Ran 1 test in 0.174s                                                                                                                                                                                                                                                                                                                                                                                                                                                                          FAILED (failures=1)       

ipdb> set(songs) == set(playlist)
False
ipdb> set(songs) == playlist
False
ipdb> len(songs)
88
ipdb> len(playlist)
88
ipdb> type(songs)
<class 'list'>
ipdb> type(playlist)
<class 'set'>
ipdb> songs = set(songs)
ipdb> type(songs)
<class 'set'>
ipdb> type(playlist)
<class 'set'>
ipdb> songs - playlist
{'Erasure Always'}
ipdb> playlist -songs
{'Erasure Always - 2009 Remastered Version'}

Does re behaves differently between python3.7 and python3.8?

kmille commented 4 years ago

fixed in de52ceb66652cbbbf8b95e81346dfdb1e47d99cc